我是通过论坛http://bbs.ickey.cn/group-topic-id-53316.html 方知还有这种工具(很可惜这篇是个引用,原文在2013年就完成了),作为Eclipse的超级粉,怎么可能不为之吸引!(之前还写过篇Eclipse Arduino教程)况且,这个工具是完全免费的!接下来,就由我带你带你走入CooCox的精彩世界吧!
下载安装篇:
由于CooCox下载地址速度在国内真的很慢,我提供百度云盘下载:http://pan.baidu.com/s/1i3AhXJZ
EXE安装就不多说了,分别安装就行。安装好后需在CooCox中指定gcc++路径,上面的教程里有,不再重复。
启动,第一步是设定工作区目录,按Eclipse传统,通常设为.CooCoxworkspace目录,以后搬家也方便。
新建项目
命名
选择Board
咦,里面没有F030 Nucleo,没关系,我们选择恰当的芯片就行,点Back
选择Chip
选择 STM32F030R8T6,Nucleo Board的主芯片。
新项目建立,此时只有一个main.c,可以按F7编译一下试试。
‘
如果你看不到这些信息,那是GCC编译器未设置好,你需要在Project目录下Select Toolchain Path中选择GCC++编译器的目录。
接下来,我们尝试点亮Board上面的LED灯,点击Repository窗口里的GPIO
左边Project视图(Eclipse管这个叫View)突然增加了不少文件,这些就是ARM的固件库,暂时我们不用动他。双击最底下的main.c,会看到里面其实还是啥也没有。
接下来,需要借助其他人的例子了,我们引用一些东西,在左上角的Components视图中,选Peripheral.ST - GPIO
右面列出了几个用例,可以先点击view看一下里面到底有啥,比如 GPIO_Blink
看一下代码,哎,正是我想要的“闪烁某个GPIO管脚”,点击Add,它提示代码将会放入example目录里。
再回过头看main.c
自动增加了一行,注释说这是自动被CoIDE加入的,看,连注释都带上了!
在左边选example下的GPIO_Blink.c,双击打开之
这里面就是标准STM32的初始代码+运行代码。
仔细看一下代码,它闪烁的是PC6和PC9,而Nucleo Board上面LED接的是PA5(绿),所以要修改一下。
此时我对什么是PC什么是PA都不大了解,还有GPIO的各种初始参数都不了解,不过可以先试一下。
我试着吧原来GPIOC给改成了GPIOA,下面的管脚编号给改成了5,其它未动。原文是闪烁了两个LED,但我们只有一个,所以第二个给注释掉了。此处使用了Eclipse强大的IED编辑功能,选中多行,按Ctrl+/ 则全部注释掉。
然后按F7编译一下试试。也可以按图中的编译按钮,不过按F7更方便不是。
编译成功,接下来就是把它写入Nucleo中了。
连接下载器
如果是我,很可能直接点击“下载程序到芯片”!哈,其实这样有可能搞死芯片,不过Nucleo没关系,怎么刷,它都不会坏。
首先,确认下载器的选项,点View 下的 Configuration
此处就是有关编译的参数,暂时我们都不需要理会,选择倒数第二个那个 Debugger,我们要用正确的下载器和调试器。
是ST-Link,OK,这回可以放心的点“下载到芯片”了。
瞬间完成。
满心欢喜的拿起板子一看,啥也没有,根本没有传说中的LED Blink。。。。。
回到程序,仔细看了一遍,原来是漏改了两处。
重新编译,下载。Blinking 。。。。。
如果一次就成功,带来的满足感远不如失败后的再次尝试,所以,不要怕失败,千辛万苦的尝试中获得的喜悦,才是真正的喜悦!
调试代码
大多数教程到这里就结束了,我不,因为真正有价值的学习才刚刚开始!前面说过,学习ARM首先要选一个IDE,为什么呢?因为IDE带来不仅仅是方便的代码编写,它还有强大的调试环境,接下来就让我们体会下它的强大吧!
选择Debug或按Ctrl+F5
output窗口闪烁一顿以后,会进入调试状态,此时有一个黄色小箭头指向main函数的第一行。
如果再看Debug菜单,你会看到下面这些。
具体如何调试程序,我还是留给你自学吧,活用调试功能是写代码的最好的老师。
Step Into是进入函数,Step Over是从函数跳过,此处我们呢用Step Into。
进入例子函数
如果接下来还用Step Into的话,你就进入系统函数定义了,通常在调试功能时我们不去看系统函数,只有在对系统函数感兴趣或者性能调优时,才去研究系统如何运作的。
接下来我们设置个断点。
在第47行点右键,选Toggle Breakpoint
此处一个红点出现。按F5运行,你就发现黄色箭头停在了红点处。
观察Nucleo板,此时如果LED是灭的,再按一下F11,LED就亮了。
此处,如果还在按F11,你会发现半天系统都没反应。因为在调试状态下,系统的运行速度会大大减慢,这也是调试唯一的问题“减慢系统运行速度”。
调试是门非常有学问的事,活用调试是开发必备技能。
好,用CooCox开发STM32程序第一课完成。接下来会有更多,敬请期待!
资料
CoIDE Quickstart: http://www.coocox.org/book/coocox/coide-dev-manual
Support List:
中文CooCox安装教程:
http://www.holtek.com.cn/china/literature/32Bit/sim_HT32_CooCoxCoIDE-QuickStartv100.pdf
|