📄 config.inc
字号:
;操作系统使用的一些常量数据
.section rom_FE, ROMDATA
.glb _stad_tbl ;任务开始执行地址表
.glb _task1, _task2, _idle
;itron规范的对象ID都是从1开始的
_stad_tbl: .lword 0 ;任务起始地址表的第一项不使用
.lword _task1 ;任务1的起始地址
.lword _task2 ;任务2的起始地址
.lword _idle ;空任务的起始地址
.glb _pri_tbl ;任务的优先级表
_pri_tbl: .word 0 ;优先级表的第一数据项不使用
.word 1 ;任务1的优先级
.word 2 ;任务2的优先级
.word 3 ;空任务的优先级(必须是优先级最低的任务)
.glb _sp_tbl ;任务堆栈指针表
_sp_tbl: .word 0 ;任务堆栈指针的第一项不使用
.word ID1_SP ;任务1的堆栈指针
.word ID2_SP ;任务2的堆栈指针
.word IDLE_SP ;空任务的堆栈指针
.glb _semcnt_tbl ;信号量初始值表
_semcnt_tbl: .word 0 ;信号量初始值表的第一项不使用
.word 1 ;设定第一个信号量的初始值
ID1_MSGSIZ .equ 2 ;定义邮箱的大小
ID2_MSGSIZ .equ 10
.section rom_FE, ROMDATA
.glb _msgsiz_tbl ;邮箱大小表
_msgsiz_tbl: .word 0 ;邮箱大小表的第一项不使用
.word ID1_MSGSIZ ;定义第一个邮箱大小(存储消息的数量)
.word ID2_MSGSIZ ;定义第二个邮箱大小(存储消息的数量)
.section rom_FE, ROMDATA
.glb _msgq_tbl ;邮箱的消息队列表
_msgq_tbl: .word 0 ;邮箱的消息队列表的第一项不使用
.word ID1_BUF ;第一个邮箱的消息队列指针
.word ID2_BUF ;第二个邮箱的消息队列指针
.section bss_NE, DATA ;为邮箱的消息队列分配空间
ID1_BUF: .blkw ID1_MSGSIZ ;分配第一个邮箱的消息对列空间
ID2_BUF: .blkw ID2_MSGSIZ ;分配第二个邮箱的消息对列空间
;定义并分配堆栈空间,MR30采用满递减的方式操作堆栈
.section stack, DATA, ALIGN
.glb INT_SP, SYS_SP
.glb stack_top,IDLE_SP,ID1_SP,ID2_SP,ID3_SP
stack_top: ;栈定
.blkb 100H
IDLE_SP: ;空任务堆栈栈顶
.blkb 100H
ID1_SP: ;第一个任务的堆栈栈顶
.blkb 100H
ID2_SP: ;第二个任务的堆栈栈顶
.blkb 100H
INT_SP: ;中断堆栈栈顶(用于保存中断上下文)
.blkb 100H
SYS_SP: ;系统堆栈栈顶(用于RTOS操作)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -