2009年左右的ST 三合一开发板 重新找出来
这几天凑空的时候,跑一下,这里记录一些遇到的问题及所得。
-
STM8的板子已经拆了下来,STM32和ST-link还连在一起,我的目标是玩下STM32,所以那个扁平的排线就用不到了;
-
开始选择了IAR 5.4的IDE,因为有人说IAR的编译器效率高(当然对我玩一玩,影响不大),此前没玩过IAR;后来去ST官网,看到现在主推的是STM32CubeIDE,于是我下载试用了下,这个IDE果然功能强大,集成了很多工具,比如STM32CubeMX可以通过图形化界面配置处理器及外设信息,然后自动生成代码,有点类似于Infineon的Dave工具,除此之外,代码编辑界面也出奇的友好,比如你想查看某些函数或变量的声明/定义信息,提供鼠标预览及跳转功能;
-
(上面一条写的太长了,接着来)但是,当我尝试用ST-link下载调试的时候,发现ST-link不被兼容了,哈哈,起初不晓得原因,发帖在ST的官方社区(这个社区网站登录异常的慢,闪电一般);最后又用回IAR 5.4,不怕,事情是越折腾越明白~~这是个爱好,没有老板催
-
(平时沉默寡言,写起帖子来,还是蛮能扯得),其实RealView MDK也是可以的,据说是3.5版,我没有用过;我以前用这个做过51,早已物非人非 ~不似当年
-
说下ST提供的库,目前分两种,一种是标准库,像板子上自带的例程;另外是ST官方主推的HAL库,我读了这两个库的代码,HAL库封装的比较复杂,把和硬件尽量能撕裂的都撕裂了~~更便于移植吧,型号CubeIDE界面友好,跳来跳去,读起来还能看得懂,标准库就不说了
-
再说说IAR调试的曲折,遇到的一个问题,就是ST-link下载后不能调试,PC指针老是在startup文件中的NMI中断处理函数跳来跳去,进不了main, 而且还会出现 “The stack ‘CStack’ is filled to 100%,xxxx”, 后来一番折腾是要选中 “Use flash loader”, 这个是C-SPY调试时把目标文件下载flash中的一个工具,类似于一个bootloader, 可以搜索它了解更多
-
事情还没完,虽然现在可以进入main,但是时不时还会报stack问题,断点调试总是不听话~后 来把Boot0 Boot1两只脚都切到0,貌似就可以了,这个代表复位后从flash启动
-
我就纳闷了,系统存储器里面的那个出厂bootloader到底是干啥用的,这难道不应该它发挥作用的时候吗???
-
我后续会搞它的~~~
-
总之现在可以调试了,眼前,要写一个自己的代码,然后简单控制个电机~~,再上个FreeRTOS