固定ip做网站路由设置,注册安全工程师考试科目,wordpress插件漏洞利用,盐城网页设计方案文章目录 前言一、rtt的启动流程二、移植工作总结 前言
RT-Thread学习#xff0c;这里记录对bsp的移植 一、rtt的启动流程
RT-Thread 支持多种平台和多种编译器#xff0c;而 rtthread_startup() 函数是 RT-Thread 规定的统一启动入口。一般执行顺序是#xff1a;系统先从… 文章目录 前言一、rtt的启动流程二、移植工作总结 前言
RT-Thread学习这里记录对bsp的移植 一、rtt的启动流程
RT-Thread 支持多种平台和多种编译器而 rtthread_startup() 函数是 RT-Thread 规定的统一启动入口。一般执行顺序是系统先从启动文件开始运行然后进入 RT-Thread 的启动函数 rtthread_startup() 最后进入用户入口函数 main()如下图所示 入口函数存放在该目录 rt-thread/src/components.c
…/src/klibc/ 目录存放内核库文件跟标准c库相关的 …/src/ 目录存放着内核实现的源码
rt_hw_interrupt_disable(), rt_hw_board_init(), rt_system_schedular_star() 这三个函数是关键决定板子的中断初始化板级设置初始化系统调度初始化。 rt_hw_interrupt_disable() 和 rt_system_schedular_star() 主要是跟架构相关的东西rtt中在 /libcpu/ 下可以查看。对于riscv架构的在 rt-thread/libcpu/risc-v 这个目录下 cvitek 下 使用的 cv18xx 用的是 riscv c906 架构cpu这是个64位的cpu所以应该参考…/common64/ 使用 SConscript.py 来控制编译生成汇编文件Kconfig 来控制板子配置信息rtconfig 来填充Kconfig。
二、移植工作
移植流程
移植并处理启动文件将芯片架构的几个文件编译进来rtt实现了基本的调度和中断等完成rt_hw_board_init函数不同的芯片这个函数不同 确保一个板子可以运行rtt需要完成下列工作 配置定时器为系统提供心跳时钟一般来说是Systick滴答定时器配置时钟系统保证系统的正常运行根据板子的flash或者ram的情况来配置系统堆的空间最基本的pin驱动和uart驱动
在 rt-thread/bsp/cvitek/cv18xx_risc-v/board/board.h 这个目录下 堆空间在bss段末尾开始堆空间的末尾是页的开始 总结