买了块STM32后,总想着从底层抓起,彻底脱离IDE,一步一步的搞清楚编译和连接的整个过程,发现真的够麻烦的阿。
一开始,写了一个用于编译ST提供的固件库的Makefile,编译失败,仔细检查了一下,发现是没有进行条件编译的原因,缺少条件,导致编译失败。于是引入了文件stm32f10x_conf.h头文件,编译通过了,可是编译后的库文件比bozai的实例代码小很多,放到工程文件里连接的时候失败了,很是郁闷。看来bozai的编译代码有待于进一步学习,不过我觉得这个Makefile是修改的,有点乱,还是自己写一个比较好些,继续努力吧!
昨天试着写了一下Linux下的ISP程序,出现一个严重问题:我写入0xff,读出的确是0x7f。后来自己查资料才知道是串口的termios结构设置的问题,由于加入了ISTRIP参数,所以收到的数据都被强行截为7位了,没“头”好痛苦阿,还好最后解决了。接下来遇到个大问题,就是PC与系统bootloader通信的问题,又要看老长的datasheet了。通过一个串口监视软件,把FlashLoader与MCU的通信过程进行了捕捉,一堆2进制数,跟密码似的,遇到我这个缺乏第六感的人就无奈了。
对于编译过程,对连接过程和最后生成二进制文件还是很陌生,有待于进一步深入学习,还好找到了CodeSourcery的一些文档,对学习是很有利的。同时在CodeSourcery的utility里发现个好东东,cs-make,在Windows下开发又苦于没有个好用的make的可以安心了。
另外还应该好好学习一下Firmware文档,对快速进行系统编程有很大的好处。MP3早日做好!!
阅读(917) | 评论(0) | 转发(0) |