Linux下编译、烧写RT-Rhread,基于STM32单片机(二)

上一篇文章主要描述了Linux安装JLink驱动的过程,由于要关心国足的比赛停了一天,今天国足终于不出意外的输给勒伊朗,所以工科小屌又来写博客了。

PC:Ubuntu14(32位),开发板STM32F103RE,JLink V8,RT_Thread V2.0

既然JLInk驱动装好了,就开始调试、烧写代码勒。

1,第一步安装交叉编译器, 直接命令行输入 apt-get install gcc-arm-none-eabi

2,安装完成后,输入arm-none-eabi- 然后TAB键,可以看到好多东西,说明已经安装成功了

3,git下载rt-thread代码,此处就不详细讲解下载过程了,我下载的版本是V2.0,打开代码路径,找到 rt-thread->bsp->stm32f103x文件夹,看到里面有如下文件(忽略图中绿色的

可执行文件,那是我后续编译生成的,源码里是没有这两个文件的)

4,开始编译啦,首先需要配置 rtconfig.py文件, vim 编译器打开,修改如下地方,因为我们是在Linux下开发,所以也没KEIL、IAR什么事情,利用第一步安装的交叉编译环境

编译代码,CROSS_TOOL = 'gcc'

PREFIX = 'arm-none-eabi-'

保存修改,然后退出 vim

5,开始正式编译勒,rt-thread->bsp->stm32f103x 目录下执行 sudo scons ,开始编译代码,第一遍编译比较慢,后续会发现修改内容编译后比KEIL环境下快很多,编译结束后出现执行文件大小等内容,此时查看rt-thread->bsp->stm32f103x 目录下会出现图中绿色可执行文件, .bin就是我们下一步需要烧写的文件

6,然后回到昨天的JLINK连接开发板内容,找到SEEGER目录下执行 ./JLinkExe ,然后connect开发板,选择芯片、调试模式、下载速度等

不清楚的同学可以查看上一篇博客内容


7,然后可以开始下载二进制代码啦,执行 loadbin /home/saffron/RTT/rt-thread-2.1.0/bsp/stm32f10x/rtthread.bin 0x8000000 命令,其中 loadbin 是命令字,然后是执行代码的地址,最后是stm32的falsh起始地址,输入命令后,可以看到烧写过程,有falsh对比、擦出、写入、验证四个过程,烧写速度很快,体验非常赞,显示 OK后烧写完成,复位 处理器以后程序就开始运行了。


8,烧写完成后,怎么判断程序已经正常运行了呢,对了,这就需要运到RTT最赞的功能勒, finish组件,打开minicom终端,串口设置下图所示

可以看到出现finish》》标示,不要小看这个,相当于RTT操作系统的 shell ,功能强大,可以通过串口查看各种信息,还可以自己添加功能,非常

好用,强烈推荐,以后有机会详细介绍。

9,有的同学没有usb转串口,看不到 finish 组件,也没有关系,因为此时我们已经可以修改程序,烧写代码了,RTT的例程时自带一个闪烁LED的,但是需要简单的修改一下

和自己的电路板对应,我的mini103开发板LED对应PA8、PD2,在驱动代码中简单修改以下下载就可以看到灯一闪一闪啦。

总结,本文介绍了如何在Linux环境下编译和烧写RTT操作系统,也可以适用于常规的 ARM 开发流程,总结一下自己的学习过程,希望可以帮助到有需要的同学


猜你喜欢

转载自blog.csdn.net/lc_cc/article/details/67671639