本帖最后由 xuan309170083 于 2014-4-11 22:08 编辑
从 STM32F072 说开去 Writed By Xuan April.1 2014
STM32F072是我接触ST在MCU方面的第一块板子。
以前由于学校开设课程顺序的缘故,最早接触到的MCU毫无疑问是51,STC的增强版51:89C52RC。后来又陆续接触到
了ARM,FPGA,DSP,玩过NXP的LPC2131,周立功代理并设计的一款ARM7开发板;还玩过ARM9,FL2440。配置Linux内
核,Makefile等等;后来又倒腾过Altera公司的cyclone系列中的两款FPGA,这个东西比较高级,刚开始也是玩玩流水灯数字时钟什么
的,发现真没劲!这么强大的东东,怎么还能玩这么低级的玩意儿呢?把个CPU烧进去看看吧!当然是选择最简单最经典的CPU -- MCS51。
当然我肯定没这么厉害能写出 51的IP Core,这个Core是网上一个大牛用VHDL写的。再自己写个Demo -- 还是万能的流水灯~~。编译 - 报错 - 解决错误 - 再编译 - 再报错 - 再解决......(尼玛,还敢报错,信不信我吃了你!估计它也被我编译来编译去都快去烦死了,终于向我投降了!) Down进去后,灯如愿的闪起来啦!功夫不负有心人啊!后来踩着同样的节奏又把NiosII IP Core给折腾
了一遍。不过NiosII可比51牛X多了 -- 为可配置的32位CPU软核。
最先接触到DSP是TI的一款定点芯片 -- TMS324VC5509A。玩了下音频啥的;后来自己手上有了C2000 Launchpad,board上用的是一
款TI低端的定点DSP -- TMS320F28027。又随便玩了几下,还是从流水灯开始!
************************************************华丽的分割线**************************************************************
好了,前面扯了一大堆不相干的话,说正题吧。
当初决定学习STM32,是因为打算在毕业设计中用,毕竟现在是STM32的天下。碰巧遇到了二姨家优惠大放送,入手了一
块STM32F072。刚开始还以为和以前看到过的F103类似,也是Cortex-M3的内核,后来在网上查阅很多资料后才知道其内核是Cortex-M0的。
收到板子时,欣喜之余立马上电,四个LED哗哗的闪!板子还是很漂亮的!
file:///C:\Users\YONGQI~1\AppData\Local\Temp\ksohtml\wps_clip_image-9998.png
file:///C:\Users\YONGQI~1\AppData\Local\Temp\ksohtml\wps_clip_image-10070.png
简单看了下官方的Demo,感觉好乱,不大习惯ST的代码风格,应该是自己的代码风格不太好,应当努力改进!还有就是自己刚接触STM32的缘
故,资料看得太少,尚欠缺对其的整体把握。
之前在做一个小项目的时候,碰到了实时性的瓶颈,在网上查找些资料后,自己写了个很简单的OS,把实时性的任务和非实时性的任务
分开,使用不同的执行策略。做完之后自己还算满意,这个OS勉强可以凑合着用!严格的说自己写的这个还不能称之为OS,称为调
度系统更为合适些。
相信很多人和我一样,在系统遇到实时性瓶颈时,都会向更高层次的Solution迈进。以前看过Linux操作系统原理这方面的书,最终打算
向Kernel和Driver层走。最后选择先从uCOS起步。
这几天在做uCOS-II的移植,先是在51上做实验,毕竟51最为了解。等把uCOS在51上弄熟后,再向STM32上迁移也就容易多了。
最后挪用咱毛爷爷的一句话:革命尚未成功,我等仍需努力啊!
【STM32F072】 从 STM32F072 说开去.pdf
(946.43 KB)
这两天玩了下板子,自己写了个程序,还是万能滴LED闪灯~
自己理解的一些注释,有助于理解库函数的用法
这是我自己调试过的工程:
STM32F072 Project_Led.rar
(3.69 MB)
|