完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 冠盖满京华 于 2015-1-31 23:29 编辑
第一天下午刚下的单,第二天早上板子就到了。物流真给力! 从拿到板子时候的一头雾水,到慢慢学会用MSD烧srec文件再到用mbed写了一个很水的PWM控制RGB Led的程序,经历了好多波折。想想自己也是够水的。 开此贴的目的是作为自己的一个debug report,特别不希望好不容易学会的那么一丁点东西因为年代久远忘记了,那就白学了。也希望论坛的各位大大多多指点迷津,让我不走弯路。 Thanks! 以下正文。 1. 开箱 拿到板子的第一件事,当然是扫一下码啦,手痒的不行,不扫怎么能忍。好了,跳到了Freescale的网站,发现有好多资料可以看可以下载,难耐激动马上打开PC开始观摩。 首先关心的是我手上的这个板子是什么东西,能做什么用? 粗略看看introduction和user's manual可以知道板子的详细信息:32bit MCU, 128K Flash, 16K SRAM,最高48MHz Frequency,板上的外设有mini USB,RGB LED,电容触摸键以及3轴加速传感器。受能力所限只能关心这些东西,还有更高深的以后懂了再去关心,要不然看了也是白看,云里雾里。 2. 编程 接下来,当然是要烧烧程序找点感觉。 一开始特别迷茫,以前没有玩过Freescale的MCU, 连用的是哪个编译器,用什么烧程序都不知道,尤其是板子寄过来的时候连根USB线都没配,心都凉了,还好我有好几根存货,没影响到什么。 通过user's manual可以知道用OpenSDA烧程序,但是OpenSDA是什么东西?完全搞不懂啊?最后想想,反正就是目标芯片上已经烧好了Boot loader, PC通过USB将程序传给OpenSDA模块后再将程序传给目标芯片的boot loader, bootloader将程序烧到自身的Flash上再跳过去执行的意思吧。应该八九不离十了。那我就不关心他的具体步骤是怎么实现的了,反正能让我的程序跑起来就行了。还有就是boot loader多大啊?128K的 Flash被占去了多少空间啊?这个问题也不大。 好了,先将u***插上再说。根据quick start guide的提示,在进入boot loader模式之后,将MSD-FRDM-KL25z_vXYZ_Pemicro.sda烧进去以使能MSD Flash编程功能。也就是说之后就可以将编译好的srec文件复制或者拖进PC上的FRDM-KL25Z盘里就实现编程了。将Precompiled Examples里面的额几个文件拖进去玩了玩,还可以,挺方便的。将PEdriver驱动程序安装好之后还可以利用串口与板子进行通讯,这也是一个调试程序的手段。 这里遇到一个问题,PE的Driver装上去后虚拟串口也用不了,根据群里给出的指导也搞不定,只好装了一个XP跑双系统了。问题解决。 3. 编译 烧好别人写好并编译好的程序之后就要开始自己写自己编译了。根据Freescale官网上的说明,可以用IAR和keil进行编译,这里遇到一个问题,那就是前面烧的文件都是srec格式的,根据我的了解,以前用IAR和Keil的时候编译出来的都不是Hex文件吗?由于机上没有IAR和keil,连安装包都没有,所以先不研究。 官网上还给出了mbed编译器的链接。点过去一看,第一步先看介绍,竟然是云编译器。厉害!注册一个号码点进去看看,连各种函数都封装好了,那我岂不是连芯片的数据手册都不需要看了?幸福来的太突然!这种大杀器怎么可以不物尽其用!要不然真是太浪费了,简直不能忍!试着写了个PWM点灯的程序,so easy,哪里不会点哪里。 不过感觉编辑界面好简陋,看来还是接着用source insight比较好。是我没配置好还是本来就这样?请各位大侠指导! 以上是这个周末搞出来的一点成果,目前看来进展缓慢。希望与大家共同学习,提高速度。 Thanks! 4. 三轴加速器 这几天比较忙,没时间怎么搞,进度慢了许多。 板上的外设目前能用的是RGB Led,MMA8451三轴加速器以及USB接口。Led没什么好玩的;虽说Freescale提供了USB协议栈,但是USB协议需要较长时间去了解与学习;目前能搞搞的也就三轴加速传感器了。目前在官网下载了数据手册和几份应用手册在研究着,也没有什么时间细看。今天先将资料发出来跟大家分享一下,等到时候程序写得差不多了再跟大家分享一下经验。Thanks! 5. GPIO 出于深入学习mkl25z芯片的原因,放弃对mbed和PE的学习,改用Keil一步一步搭建程序架构,从零开始深入学习。 安装好Keil V5.13之后,按照Keil官网给出的应用手册apnt_232学习项目的配置与编译。之后从GPIO开始逐步掌握该芯片。 GPIO的输入输出控制遵照以下流程: 1.设置SIM_SCGC5寄存器使能相应端口时钟。 2.设置PORTx_PCRn寄存器中的MUX位段使能GPIO功能。 3.设置GPIOx_PDDR寄存器配置该引脚是输入还是输出。 4.设置成输出时通过GPIOx_PDOR设置输出状态为高还是低。 5.设置成输入时通过GPIOx_PDIR寄存器读取引脚状态。 6.引脚设置成输出时通过向GPIOx_PTOR寄存器相应位写入1将引脚状态取反输出。 附件为Keil官网的应用手册和压缩包,以及今天写出来的GPIO源码文件。该源码中只测试了部分函数,不保证no bug。各位可以自行测试。
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1820个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
35988 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4143 浏览 0 评论
5721 浏览 1 评论
6512 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
3978 浏览 0 评论
422浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
390浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
396浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
482浏览 2评论
514浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-5 04:12 , Processed in 0.872402 second(s), Total 52, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191