实时操作系统应用开发技术 课件 附录ALiteOS 在 CH32V303 上的移植方法_第1页
实时操作系统应用开发技术 课件 附录ALiteOS 在 CH32V303 上的移植方法_第2页
实时操作系统应用开发技术 课件 附录ALiteOS 在 CH32V303 上的移植方法_第3页
实时操作系统应用开发技术 课件 附录ALiteOS 在 CH32V303 上的移植方法_第4页
实时操作系统应用开发技术 课件 附录ALiteOS 在 CH32V303 上的移植方法_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实时操作系统应用开发技术LiteOS

在CH32V303

上的移植方法主讲人:王宜怀时间:2025.61/18A.1下载轻量级鸿蒙LiteOS的最新版源码A.2将LiteOS最新源码加入NOS工程中A.3对源代码进行修改A.4移植后测试目录01020304CONTENTS2/18下载轻量级鸿蒙

LiteOS的最新版源码实时操作系统应用开发技术A.1PART-3/18输入网址登录账号0102在浏览器地址栏输入liteos-m代码仓库网址:/openharmony/kernel_liteos_m。若无账号点击“注册”创建,已有账号点击“登录”输入账号密码。A.1.1进入代码仓库4/18登录后进入网址,点击“克隆/下载”界面的“下载”按钮。点击“版本”→“选择版本”,选择OpenHarmony-v5.0-Beta1版本。点击下载按钮选择版本A.1.2下载源代码5/18下载后得到名为“kernel_liteos_m-OpenHarmony-v5.0-Beta1.zip”的压缩文件,解压后为操作系统源码文件。文件内容A.1.3源码文件说明6/18将LiteOS

最新源码加入NOS工程中实时操作系统应用开发技术A.2PART-7/18双击下载的压缩文件,新建“LiteOS”文件夹并解压。解压文件复制电子资源中的“NOS-Frame-CH32V303”文件夹,改名为“LiteOS-Frame-CH32V303-5.0”,将“LiteOS”文件夹复制到其中。复制文件夹A.2解压与复制8/18进行工程修改,将无操作系统NOS工程变为带

LiteOS

的应用工程。修改工程A.3工程修改9/18对源代码进行修改实时操作系统应用开发技术A.3PART-10/18删除文件夹删除arch文件夹下多余处理器内核文件夹、testsuites、figures、drivers、components中非必需组件、tools文件夹。修改文件夹对kal文件夹进行更改,删除libc、libsec、posix文件夹;对kal/cmsis文件夹进行更改,删除cmsis_os.h、hos_cmsis_adp.h、cmsis_os2.h文件。删除其他文件删除无用的git文件和脚本文件。A.3.1删除无用代码11/18通过阅读内核代码,发现时间管理中存在ArchTickTimer结构体,相关功能通过调用该结构体成员变量实现。关键代码解读修改SysTickStart、SysTickLock、SysTickUnlock、SysTickCycleGet、SysTickReload函数,确保定时器正确设定SysTick行为。定时器功能函数修改修改arch/riscv/nuclei/gcc/los_timer.c文件中g_archTickTimer结构体成员变量,适配CH32V303。修改全局定时器定义修改SysTick_Handler函数,使其在MCU产生定时器中断时被正确调用。中断处理函数修改A.3.2定时器适配12/18修改ArchHwiCreate函数,根据参数创建对应中断。初始化中断函数修改ArchHwiDelete、HwiUnmask、HwiMask函数,实现中断的开启和关闭。开启和关闭中断函数修改HwiSetPriority函数,设置中断优先级。设置中断优先级函数A.3.3中断管理13/18了解TaskContext结构体,明确线程上下文切换时需要保存的寄存器内容。修改ArchTaskSchedule、ArchInit、HalTaskSwitch函数,适配上下文切换。代码解读修改相关代码补全缺失文件,如复制“third_party”文件夹、riscv_bits.h和riscv_encoding.h文件;删除冗余代码,修改相关宏定义和文件路径。其他调整A.3.4上下文切换14/18移植后测试实时操作系统应用开发技术A.4PART-15/18复制文件复制“07_AppPrg”文件夹到“LiteOS-Frame-CH32V303”文件夹中,覆盖原有文件;复制“Os_United_API.h”文件到相应文件夹下。删除代码删除“gec.c”文件中Vectors_Init函数下的中断继承代码。A.4文件操作16/181删除Debug文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论