没有合适的资源?快使用搜索试试~ 我知道了~
首页ThreadX学习笔记.pdf
资源详情
资源评论
资源推荐
1 启动过程
1 注册中断向量表
__vectors
LDR pc,=__main ; Reset goes to startup function
LDR pc,=__tx_undefined ; 未定义异常处理函数
LDR pc,=__tx_swi_interrupt ; 软中断处理函数
LDR pc,=__tx_prefetch_handler ; 预取异常处理函数
LDR pc,=__tx_abort_handler ; 中止异常处理函数
LDR pc,=__tx_reserved_handler ; 保留
LDR pc,=__tx_irq_handler ; 外部中断处理函数
LDR pc,=__tx_fiq_handler ; 快速中断处理函数
2 Reset 后调用 main 方法
int main()
{
/* Enter the ThreadX kernel. */
tx_kernel_enter();
}
3 调用_tx_initialize_low_level,初始化跟特定硬件相关的部分。
void _tx_initialize_low_level{
1、CPSCR|= FIQ_ MODE,SET SP_fiq;
2、CPSCR|=IRQ_MODE,SET SP_irp;
3、CPSCR|=SVC_MODE,SET SP_svc;
4、设置内部 TIMER 线程的堆栈起始地址,堆栈大小和优先级::
tx_timer_stack_start,_tx_timer_stack_size,_tx_timer_priorit;
5、设置初始化后未使用内存地址的初始值_tx_initialize_unused_memory;
6,使能 Timer1
}
4 调用_tx_initialize_high_level 初始化 Threadx 的各个组件
VOID _tx_initialize_high_level(VOID)
{
//初始化线程控制组件
_tx_thread_initialize();
//初始化时钟组件
_tx_timer_initialize();
//初始化信号量组件
_tx_semaphore_initialize();
//初始化队列组件
_tx_queue_initialize();
//初始化事件标识组件
_tx_event_flags_initialize();
//初始化内存块池组件
_tx_block_pool_initialize();
//初始化内存堆池组件
_tx_byte_pool_initialize();
//初始化互斥量组件
_tx_mutex_initialize();
}
5 设置系统状态为在初始化过程中
6 调用 tx_application_define,初始化用户程序
7 设置系统状态为完成初始化
8 进入调度循环开始调度线程执行
2 线程调度
2.1 数据结构
就绪队列
THR
EAD
THR
EAD
THR
EAD
_tx_thread_priority_list【0】
THR
EAD
THR
EAD
THR
EAD
_tx_thread_priority_list【1】
THR
EAD
THR
EAD
THR
EAD
_tx_thread_priority_list【31】
thread_priority_map
0 31
_tx_thread_system_stack_ptr:当前系统栈。在 low-level 初始化过程中被指定
_tx_thread_current_ptr:当前运行的线程指针
_tx_thread_execute_ptr:下一个将要运行的线程指针
_tx_thread_created_ptr:线程创建队列指针
_tx_thread_system_state:当前系统状态,0 标识有线程在运行或者在 IDLE 状态,否则
说明在进行系统初始化或者在执行中断服务。
_tx_thread_priority_map:系统当前就绪线程的优先级位图。
_tx_thread_preempted_map:是否激活抢占的线程优先级位图
_tx_thread_highest_priority:就绪线程中的最高优先级
_tx_thread_lowest_bit:0 到 TX_THREAD_MAX_BYTE_VALUES 的被置位的最低位的
序号
_tx_thread_priority_list:就绪线程的数组
_tx_thread_preempt_disable:是否允许抢占
剩余47页未读,继续阅读
jonathan_zhang2007
- 粉丝: 15
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论6