查看: 2491|回复: 2

[项目] 嵌入式实时内核trochili移植指南

[复制链接]
  • TA的每日心情
    开心
    2015-7-14 10:15
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-12-30 15:18:07 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 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来配置需要的功能。这个文件
    里的宏是很清晰的,不多说。

          上面的文字可能比较罗嗦,直接看图更容易:
           11111.png
          其中黄色斜体文件名的几个文件,是移植时用户需要注意的几个文件。


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

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



    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-23 13:44
  • 签到天数: 243 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-12-30 16:50:55 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-23 14:54
  • 签到天数: 19 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2015-12-31 18:42:42 | 显示全部楼层
    支持支持~~
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 21:34 , Processed in 0.131815 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.