RTThread完整版学习之操作系统移植

发布时间:2024-06-19  

RTThread的一大特色就是有丰富免费的组件可以用,但是对于我这个初学者来说很难习惯它必须使用它的模板完成任务,而且在stm32也已经放弃了对标准库的支持,这让我这个一直使用标准库的菜鸟感到很是头大。但初学,还就得依葫芦画瓢,待练习的成熟了,再自己开发。本笔记参考参考的教程为bsp制作

第一步:是复制工程模板这 如果感觉这个比较慢可以 将这里面的仓库导入到gitee中,这样就很快了。复制的时候是要将整个工程都复制的。如图所示

图片

标红框框的这几个是比较重要的,主要修改的文件夹是bsp文件夹,在bsp(板级支持包)中RT-Thread已经给我么做了好多的例程,但是有时候需要自己建立一个属于自己的板级支持包,所以过程还是要掌握的。我使用的开发板为野火stm32f429挑战者v1。

第二步,在文件夹bsp->stm32->libraries下的templates文件夹中复制相关芯片的工程模板到stm32文件夹下,我使用的是STM32F429所以我就使用F4xx的模板。并且我将这个文件改名为stm32f429.如图所示

图片

第三步就是修改工程模板了,先看一下stm32f429下的目录结构。

图片

然后需要创建一个基于目标芯片的 CubeMX 工程。默认的 CubeMX 工程在 CubeMX_Config 文件夹中,双击打开 CubeMX_Config.ioc 工程,如下图所示:

图片

打开这个文件,修改成自己的芯片。

图片

接下来使能RCC和串口,时钟如图所示,串口保持默认设置就可以了。

图片

之后配置时钟树,如图

图片

设置好路径之后,点击生成就可以了。

图片

然后就是修改相关文件

在 board.c 文件中存放了函数 SystemClock_Config() ,该函数负责初始化系统时钟。当使用 CubeMX 工具对系统时钟重新配置的时候,需要更新这个函数。

该函数由 CubeMX 工具生成,默认存放在board/CubeMX_Config/Src/main.c 文件中。但是该文件并没有被包含到我们的工程中,因此需要将这个函数从 main.c 中拷贝到 board.c 文件中。在整个 BSP 的制作过程中,这个函数是唯一要要拷贝的函数,该函数内容如下所示:

图片

在 board.h 文件中配置了 FLASH 和 RAM 的相关参数,这个文件中需要修改的是 STM32_FLASH_SIZE 和 STM32_SRAM_SIZE 这两个宏控制的参数。本次制作的 BSP 所用的 STM32F429IGTx芯片的 flash 大小为 1M,ram 的大小为 256k,但如果ram的大小为256k的话系统是不能跑起来的,估计有部分是芯片用的吧,所以改为192,因此对该文件作出如下的修改:

图片

修改 board/Kconfig 文件的内容

图片

然后修改board/linker_scripts中的内容,我使用的是MDK就修改link.sct文件

图片

然后修改构建脚本board/SConscript,如图

图片

最后修改工程模板。

图片

修改芯片和下载方式

图片

图片

然后保存关闭就行了

第四步。构建工程。

使用env工具

在 env 界面输入命令 menuconfig 对工程进行配置,并生成新的 rtconfig.h 文件。如下图所示:

图片

图片

最后生成mdk5工程

图片

图片

之后就是打开生成的工程编译下载

运行结果

图片


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>