2回答

2收藏

[原创] 嵌入式实时内核trochili移植指南

GD32 GD32 2887 人阅读 | 2 人回复 | 2015-12-30

本帖最后由 trochili 于 2015-12-30 15:35 编辑

我们以这次GD32活动的小红板为例。Trochili RTOS的移植主要有3部分

(一)MCU相关代码的移植。主要涉及3个文件。
        startup_gd32f20x_cl.s 这个是GD32提供的库函数,用来启动gd32处理器,一般来说我们不需要处理。但是要理解它都做了什么工作。
        tcl.gd32f207.c 这个文件主要是为trochili rtos提供了几个c实现的和mcu相关的关键函数
        CpuBuildThreadStack()        根据处理器的特性,组装线程的栈内容。
        CpuSetupEntry()                 进入rtos后,处理器的一些初始化函数。比如配置systick时钟等。
        CpuConfirmThreadSwitch()  设置PendSV中断
        CpuCancelThreadSwitch()    取消PendSV中断

       tcl.gd32f207.keil.asm  这个文件主要是为trochili rtos提供了几个汇编实现的和mcu相关的关键函数
       CpuEnterCritical()
       CpuLeaveCritical()     中断开关函数
       PendSV_Handler()    PendSV中断处理函数
   
       以上函数是和MCU紧密相关的,移植到不同的处理器时,需要使用者来实现。

(二)BSP相关代码的移植
        trochili rtos默认的开发板需要具备uart、led、key三个设备,这样就方便运行自带的demo程序。
       在GD32F207开发板上,一下几个文件,就不多解释了。
       colibri_bsp.c
       colibri_key_bsp.c
       colibri_led_bsp.c
       colibri_uart_bsp.c


(三)trochili rtos配置
       trochili 本身是可以剪裁的,用户根据自己的需求,可以通过tcl.config.h来配置需要的功能。这个文件
里的宏是很清晰的,不多说。

      上面的文字可能比较罗嗦,直接看图更容易:
      

      其中黄色斜体文件名的几个文件,是移植时用户需要注意的几个文件。


      rtos的移植是个细致的工作,难度其实没多大,但需要很多背景知识、耐心和好脾气。祝大家顺利~

-----------------------------------------------------------
有问题可联系技术支持邮件  bravo#trochili.com
-----------------------------------------------------------



eeboard大力支持的开源RTOS -- Trochili RTOS
分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

Paderboy

发表于 2015-12-30 16:50:55 | 只看该作者

板凳

caizhiwei

发表于 2015-12-31 18:42:42 | 只看该作者

支持支持~~
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条