- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AStudyonAsymmetricOperatingSystemsonSymmetric-RSWiki
OS_CPU_A.asm OSIntCtxSw 由於僅有第一行與OSCtxSw不相同,因此在切換mode之後,可以直接呼叫OSCtxSw SP調整 由於每個mode下都有各自的stack,並且在access其他mode的data會受到限制,加上每個task都有各自的stack,因此,mode和stack的關係要十分清楚,否則此處調整SP會有極大的機率造成錯誤 / * OS_CPU_A.asm 若是要利用第2種方法(設旗標) 則在OSIntCtxSw中 保存處理器暫存器; LDR R4, =needCtxSw MOV R5, #0x1 STR R5, [R4] 將所有處理器暫存器從新 task 的堆疊中恢復出來;? 執行中斷返回指令; 在TickISR中(在OSIntExit之後) LDR R4, =needCtxSw LDR R4, [R4] CMP R4, #1 BEQ OSCtxSw / * OS_CPU_C.c OSTaskStkInit()、OSTaskCreateHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeTickHook() Hook主要用來進行功能擴展 OSTaskStkInit() 對於task stack進行初始化動作 / * Conclusion OS_CPU.h 須查閱spec,並且在porting過程中需不斷加上新的變數值或是新的函式 Bootloader在porting過程中也需要修改,例如加入新的handler以及加入新的中斷向量 OSIntCtxSw 和 OSTickISR與暫存器的設置有關 Mode Stack / * Conclusion / * Q A Thanks / * * * /24 Presenter:Wytai * / Date:06/04 Porting uC/OS-II to XSBase255 Outline Introduction Porting overview OS_CPU.h OS_CPU_A.asm OS_CPU_C.c Conclusion * / Introduction Preparation uC/OS-II source code / V.2.86 Porting file / V.1.50 ADS or GNU Hardware XSBase255 Hardware Spec Compiler Spec ARM assembly knowing / * Introduction Porting = bootloader + OS Bootloader Initialize hardware, vectors, memory, stack, register value There are two ways 分開成兩個檔案(bin),bootloader裡面要設定OS Image存放的位址(OS入口),需要兩者一致方可成功啟動OS 合成一個bin檔,在bootloader執行完以後,透過跳轉__main進入OS入口 / * Introduction Hardware limit 處理器的 C 編譯器能產生可重入程式碼。 用 C 語言就可以打開和關閉中斷。 處理器支援中斷,並且能產生定時中斷 (通常在 10 至 100Hz 之間)。 處理器支援能夠容納一定數量的資料的硬體堆疊 (可能是幾千位元組)。 處理器有將堆疊指標和其他 CPU 暫存器讀出和存儲到堆疊或記憶體中的指令。 Ex Motorola 6805 : 4,5 / * Overview / * Overview OS_CPU.h Define some reg value and datatype OS_CPU_A.asm OSStartHighRdy() OSCtwSw() OSTickISR() OSIntCtxSw() OS_CPU_C.c OSTaskStkInit()、OSTaskCreateHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeTickHook() / * OS_CPU.h Compiler dependent(請查看compiler手冊) typedef unsigned char BOOLEAN; typedef unsigned char INT8U; typedef signed char INT8S; typedef unsigned short INT16U; typedef signed short INT16S; typede
您可能关注的文档
- 8.4SCOPUS文摘和索引数据库-江南大学图书馆.ppt
- 97年系所評鑑問答集.doc
- 5產業文化資產保存工作Ⅱ學習產業勞動智慧的厚度.ppt
- 98-2-3七年級國文科試題卷.doc(152KB).doc
- 991國一英文課程(三大出版社).doc
- 9(借位,減左方數目11-2=9).ppt
- 97年度「學海飛颺」鼓勵國內大學校院選送人才出國研修心得報告.ppt
- 863计划-中国科学院苏州生物医学工程技术研究所.doc
- 教授候補者応募に必要な書類-hsc.okayama.doc
- Access对象模型.ppt
- 2024年度安永全球另类投资基金调查报告.docx
- 2024年中国汽车产业出海回顾分析 -中汽信科国际化研究团队.docx
- 【民航局国际合作服务中心】马尔代夫民航业发展研究报告.docx
- 2025走向融合与深化的中国媒介市场报告-星传媒体.docx
- 2023Givaudan和ESG目的与性能.docx
- 中国民间应对气候变化行动故事集-教育故事.docx
- 2025AI制药市场规模产业链构成应用现状及AI制药公司分析报告.docx
- 医疗器械专题之基因测序:分子诊断掌上明珠,四代测序开启规模化应用时代.docx
- 2024年中央银行黄金储备调查报告 202406.docx
- 智慧芽 -2024第4季度全球潜力靶点及FIC产品调研报告.docx
文档评论(0)