在KEIL下搭建基于 STM32 和 rt-thread 的开发环境

RT_thread开发人员是用MDK(Keil)进行开发管理的,当然也提供了IAR等开发环境的配置。针对初学者都提供了相关的教程和案例,不过项目开发,还是得讲究一下如何有效搭建开发环境和配置。

MDK(Keil)的安装和配置(破解)就略过了。能进行开发移植系统的程序员如果还不会最基础的开发环境搭建,那……去闭关修炼吧。

芯片选择:ST(意法半导体)-STM32F103ZE
原因:

  • 开发必备。大多单片机爱好者,学习过程基本是:菜鸟52->逐步深入stm32->深度中毒ARM。
  • ST芯片应用广泛。ST的性价比(点赞)和高性能在各领域都发挥着重要作用(好用吖)。
  • ST开发容易。固件库和资料都很全,网上大把教程和学习板(大学期间的零花钱都被那几家X宝店赚了。。。)。而且固件库具有通用性,熟悉了一个产品线的开发之后,比较容易能够切换到其它的产品线。
  • 刚好手上有核心板,仿真器随便捡一个都能适应,呵呵

现在讲解一下项目开发过程

上RT_Thread官网,下载源码包,github主线有1.2.x、2.0.x和最新版本。浏览了各家说法后,我决定先去移植1.2.x版本,理由嘛,这货内容相对比较少,适合细细研究(主要是源码能大致看完和框架能更好的理解)。而且我的项目芯片的flash和RAM都比较小,剪裁一个稳定且小系统对我很重要。迟点再研究2.0.x也不迟,虽说框架不一样。

框架图
在KEIL下搭建基于 STM32 和 rt-thread 的开发环境_第1张图片

1.2.x源码-工程文件
在KEIL下搭建基于 STM32 和 rt-thread 的开发环境_第2张图片

  • bsp是放置各种芯片移植开发的配置文件。比如现在要开发STM32F103ZE芯片->对应目录是stm32f10x->目录里面包含应用层、驱动层和各开发环境的工程项目文件,初学者可以就此打开,并且研究其在移植开发中具体需要哪一些必需文件。(移植需要文件)

  • components是放置各种组件的。所谓组件,就是一些配套的,做好的应用,方便你使用。(我理解的意思)。里面的finsh组件很不错,一定要去涉及。(看需求移植,开发过程中最好配上finish)

  • documentation是,哦。

  • examples是一些关于rt_thread应用时一些API、编程、使用样例程序。还没细细研究过,仅供参考。

  • include是包含了RT-Thread内核头文件,移植的时候需要包含路径。(移植需要文件)

  • libcpu是存放各种内核文件,在移植中必需找到与自己芯片对应的内核文件。比如现在要开发STM32F103ZE芯片->对应arm目录下->cortex-m3内核。(移植需要文件)

  • src是RT-Thread内核源文件。(移植需要文件)

  • tools是支持各种集成开发环境的python文件,如常见的iar.py/keil.py/sconsui.py/vs2012.py(不会用)

自建开发工程目录
在KEIL下搭建基于 STM32 和 rt-thread 的开发环境_第3张图片

  • App是放和应用有关的程序文件。

  • Board是放置和电路板设置有关的程序文件,比如,串口的管脚定义。这个目录里面文件的意义,是把固件库 & rt-thread 与 应用有关的程序文件隔离开来。个人认为,这一层的作用是很重要的,要好好规划。

  • Driver 目录。里面放置 rt-thread 提供的各种片上外设的驱动程序,需要从 rt-thread 的 bsp 子目录里面对应的芯片驱动中拷贝过来。之所以需要拷贝而非简单的引用,是因为这一层的驱动程序可能需要根据应用的需要做定制。

  • Fireware 目录。里面放置 ST 固件库所需的文件,比如 stm32f10x_conf.h。

  • RT-Thread 目录。里面放置 rt-thread 所需的配置文件,比如 rtconfig.h,组件,cpu内核,源代码文件等

  • Listings\Output是keil编译输出文件


文件移植

待续…

你可能感兴趣的:(STM32认真学习系列,产品分析)