《4-王宜怀-基于通用嵌入式计算机GEC的RT-Thread快速学习与应用方法-20231223_20240102140547.pdf》由会员分享,可在线阅读,更多相关《4-王宜怀-基于通用嵌入式计算机GEC的RT-Thread快速学习与应用方法-20231223_20240102140547.pdf(48页珍藏版)》请在三个皮匠报告上搜索。
1、基于通用基于通用嵌入式计算机嵌入式计算机GEC的的RT-Thread快速学习与应用方法快速学习与应用方法 以以RISC-V架构为例架构为例苏州大学苏州大学 王宜怀王宜怀2023年年12月月 摘要摘要:实时操作系统实时操作系统的快速学习与应用方法是值得从理论与实践的快速学习与应用方法是值得从理论与实践层面探讨的问题,苏州大学探索了构建通用嵌入式计算机层面探讨的问题,苏州大学探索了构建通用嵌入式计算机GECGEC,实现了,实现了RT-ThreadRT-Thread的的BIOSBIOS内驻留,进行了对外接口函内驻留,进行了对外接口函数的映射,设计了基于数的映射,设计了基于RT-ThreadRT-Th
2、read标准工程模板,面向实际应标准工程模板,面向实际应用设计了用设计了RT-ThreadRT-Thread下延时函数、事件、消息队列、信号量、下延时函数、事件、消息队列、信号量、互斥量等互斥量等RTOSRTOS基本要素的实例,为实际应用开发提供了可基本要素的实例,为实际应用开发提供了可“照葫芦画瓢照葫芦画瓢”的模板,为实现的模板,为实现RT-ThreadRT-Thread快速学习与应用提快速学习与应用提供了基础。在此基础上,撰写了相关著作,丰富了供了基础。在此基础上,撰写了相关著作,丰富了RT-ThreadRT-Thread应用生态系统应用生态系统。第第2 2页页 共共4848页页 一、一、
3、RISC-V的来龙去脉的来龙去脉 二、基于二、基于RISC-V的构建通用嵌入式计算机的构建通用嵌入式计算机 三、基于三、基于RISC-V的的CH32V307构建构建GEC生态系统生态系统 四、四、基于基于RISC-V的的D1构建构建GEC生态系统生态系统 五、嵌入式人工智能:物体认知系统五、嵌入式人工智能:物体认知系统目目 录录 六、教材的演进六、教材的演进第第3 3页页 共共4848页页 一、一、RISC-V的来龙去脉的来龙去脉 1.名词梳理名词梳理 (1 1)复杂指令集计算机复杂指令集计算机(Complex Instruction Set Complex Instruction Set C
4、omputerComputer,CISCCISC),其指令系统复杂、庞大,一般在),其指令系统复杂、庞大,一般在200200条以上;寻找方式较多,一般条以上;寻找方式较多,一般大于大于4 4;代表;代表着复杂的着复杂的CPUCPU设计,典型代表为设计,典型代表为IntelIntel公司公司X86X86。(2 2)精简指令集计算机精简指令集计算机(Reduced Reduced Instruction Set Instruction Set ComputerComputer,RISCRISC),),其其指令系统简单、精简,指令系统简单、精简,一般一般在在100100条条以下;以下;寻找方式寻找方
5、式较少,一般较少,一般小于小于4 4;代表;代表着简约的着简约的CPUCPU设计,典型代表设计,典型代表为为AppleApple公司的公司的MacintoshMacintosh、ARMARM、RISC-VRISC-V。第第4 4页页 共共4848页页 2.为什么会出现为什么会出现RISC?1979 1979年,美国加州大学伯克莱分校的帕特逊教授团队分析年,美国加州大学伯克莱分校的帕特逊教授团队分析CISCCISC存在的存在的主要缺点:(主要缺点:(1 1)CISCCISC中各种中各种指令的使用率相差悬殊指令的使用率相差悬殊:一个典型程序的运算:一个典型程序的运算过程所使用的过程所使用的8080
6、指令,只指令,只占一个处理器指令系统的占一个处理器指令系统的2020;(;(2 2)复杂)复杂的的指指令系统带来令系统带来结构的结构的复杂性,增加复杂性,增加了设计的时间与了设计的时间与成本,也容易成本,也容易造成设计造成设计失失误;(误;(3 3)很难)很难把把CISCCISC的全部硬件做在一个芯片上的全部硬件做在一个芯片上,影响了单片计算机,影响了单片计算机的的发发展。为了克服这些缺点,帕特逊展。为了克服这些缺点,帕特逊等人提出了精简指令的等人提出了精简指令的设想,即设想,即指令系统应指令系统应当只包含那些使用频率很高的少量当只包含那些使用频率很高的少量指令,并指令,并提供一些必要的指令以
7、支持操作提供一些必要的指令以支持操作系统和系统和高级语言,按照高级语言,按照这个原则发展而成的计算机被称为这个原则发展而成的计算机被称为精简指令集计算机精简指令集计算机RISCRISC。第第5 5页页 共共4848页页 3.RISC-V的由来的由来 1980 1980年,美国加州大学伯克莱分校年,美国加州大学伯克莱分校的帕特逊教授的帕特逊教授团队设计了团队设计了RISC-IRISC-I,这就是这就是RISCRISC这个名称的这个名称的由来,到由来,到20102010年,设计了年,设计了RISC-VRISC-V指令集架构之指令集架构之前前,该团队已经具有四,该团队已经具有四代代RISCRISC指
8、令集指令集架构设计架构设计经验,正因为有相关的经验,正因为有相关的技术技术沉淀,该团队沉淀,该团队才能在短期才能在短期内设计出内设计出了了RISC-VRISC-V。4.RISC-V的简明描述的简明描述 RISC-V RISC-V是是20102010年美国加州大学伯克利分校年美国加州大学伯克利分校基于基于RISCRISC原则原则而设计一个而设计一个开源指令集架构(开源指令集架构(Instruction Set ArchitectureInstruction Set Architecture,ISAISA)。它不是一种处)。它不是一种处理器或芯片,而是一套指令集架构规范(理器或芯片,而是一套指令集
9、架构规范(SpecificationSpecification)。其中的)。其中的“V”V”有有两层含义:一是指发明者美国加州大学伯克利分校团队着眼于两层含义:一是指发明者美国加州大学伯克利分校团队着眼于RISCRISC开始而开始而设计的第五代指令集架构;二是它代表了变化(设计的第五代指令集架构;二是它代表了变化(VariationVariation)和向量)和向量(VectorsVectors)。RISC-VRISC-V三个重要特点:开三个重要特点:开源免费、设计成本源免费、设计成本低,可设计出低,可设计出功耗功耗低体积低体积小的芯片。小的芯片。第第6 6页页 共共4848页页 5.RISC
10、生态建设的开端生态建设的开端 帕特逊团队帕特逊团队属于高校,功利心没有那么属于高校,功利心没有那么重,在设计重,在设计RISC-VRISC-V指令集之指令集之后,研究团队决定,将它彻底后,研究团队决定,将它彻底开放,使用开放,使用BSD LicenseBSD License开源协议。这意味开源协议。这意味着着,任何人都可以基于,任何人都可以基于RISC-VRISC-V指令集进行芯片设计和开发指令集进行芯片设计和开发,而,而不需要支付不需要支付授权费用授权费用,由此,大批,由此,大批公司开始加入对公司开始加入对RISC-VRISC-V的研究和二次开发之中的研究和二次开发之中。从。从2011201
11、1年开始年开始,SiFiveSiFive公司的创始人公司的创始人Andrew Andrew WatermanWaterman、YunsupYunsup LeeLee等设等设计出两款计出两款RISC-VRISC-V芯片并成功流片,验证了芯片并成功流片,验证了RISC-VRISC-V架构的可行性。随着这两架构的可行性。随着这两款芯片提供给全世界开发者款芯片提供给全世界开发者,成为,成为RISC-VRISC-V生态建设的开端。生态建设的开端。SiFiveSiFive是是20152015年年Andrew Andrew WatermanWaterman等等创立创立的一家专门推动的一家专门推动RISC-V
12、RISC-V商商业化的业化的公司,是公司,是SaaSSaaS(Software-as-a-ServiceSoftware-as-a-Service)服务商,提供基于)服务商,提供基于RISC-RISC-V V指令架构的商用化处理器指令架构的商用化处理器IPIP,开发工具和芯片解决方案。,开发工具和芯片解决方案。第第7 7页页 共共4848页页 6.RISC-V基金会基金会 20152015年,为了年,为了确保确保RISC-VRISC-V成功运营成功运营,非,非盈利性组织盈利性组织RISC-VRISC-V基金会基金会(RISC-V FoundationRISC-V Foundation)创立。从
13、开始成立时的)创立。从开始成立时的2929个会员,发展个会员,发展到到20212021年年1212月在月在 70 70 多个国家多个国家/地区拥有地区拥有 2000 2000 多名成员。短短几年的时间里,包括多名成员。短短几年的时间里,包括谷歌、华为、谷歌、华为、IBMIBM、镁光、英伟达、高通、三星、西部数据等商业公司,以、镁光、英伟达、高通、三星、西部数据等商业公司,以及加州大学伯克利分校、麻省理工学院、普林斯顿大学、及加州大学伯克利分校、麻省理工学院、普林斯顿大学、ETH ZurichETH Zurich、印度、印度理工学院、洛伦兹国家实验室、新加坡南洋理工大学以及中科院计算所等学理工学
14、院、洛伦兹国家实验室、新加坡南洋理工大学以及中科院计算所等学术机构,都纷纷加入术机构,都纷纷加入RISC-VRISC-V基金会基金会。第第8 8页页 共共4848页页 7.RISC-V在中国在中国20182018年年8 8月,月,SiFiveSiFive将业务扩展到中国,并在中国注册独立子公司赛将业务扩展到中国,并在中国注册独立子公司赛昉科技(昉科技(SaiFanSaiFan)用于为国内客户提供服务。)用于为国内客户提供服务。20182018年年1010月,中国月,中国RISC-VRISC-V产业联盟(产业联盟(CRVICCRVIC)在上海成立,同年)在上海成立,同年1111月,中国开放指令月
15、,中国开放指令生态联盟(生态联盟(CRVACRVA)宣布成立。随后的一年,华米黄山一号、阿里巴)宣布成立。随后的一年,华米黄山一号、阿里巴巴玄铁巴玄铁910910,沁恒青稞,沁恒青稞V3V3,青稞,青稞V4V4等基于等基于RISC-VRISC-V开发的处理器相继开发的处理器相继发布,中国科技公司在对发布,中国科技公司在对RISC-VRISC-V的开发中渐渐找到各自的方式。的开发中渐渐找到各自的方式。第第9 9页页 共共4848页页 8.RISC-V发展史及其标志性事件发展史及其标志性事件 来源:来源:https:/sifive-china.oss-cn-第第1010页页 共共4848页页 9.
16、RISC-V的未来发展场景的未来发展场景 随着随着中美贸易战的发生,以及对潜在贸易限制的担忧,总部位于美国的芯中美贸易战的发生,以及对潜在贸易限制的担忧,总部位于美国的芯片技术非营利组织片技术非营利组织RISC-VRISC-V基金会总部已于基金会总部已于20202020年年3 3月已经正式迁移至瑞士,月已经正式迁移至瑞士,其法律实体过渡至瑞士,并将从美国迁出。官方表示这是为了防止任何国家、其法律实体过渡至瑞士,并将从美国迁出。官方表示这是为了防止任何国家、公司或个人对公司或个人对RISC-VRISC-V进行任何限制或禁运,这也将成为进行任何限制或禁运,这也将成为RISC-VRISC-V的另一个
17、竞的另一个竞争优势争优势。第第1111页页 共共4848页页 二、基于二、基于RISC-V的构建通用嵌入式计算机的构建通用嵌入式计算机 1.智能终端智能终端开发方式存在的开发方式存在的问题问题 微控制器(微控制器(Microcontroller UnitMicrocontroller Unit,MCUMCU)或应用处理器)或应用处理器(Application ProcessorApplication Processor,APAP)是智能终端()是智能终端(Ultimate-EquipmentUltimate-Equipment,UEUE)的核心,承担着传感器采样、滤波处理、边缘计算、融合计算、
18、嵌入式)的核心,承担着传感器采样、滤波处理、边缘计算、融合计算、嵌入式人工智能算法、通信、控制执行机构等功能。芯片生产厂家往往配备一本厚人工智能算法、通信、控制执行机构等功能。芯片生产厂家往往配备一本厚厚的参考手册,少则几百页,多则可达近千页。许多厂家也给出庞大软件开厚的参考手册,少则几百页,多则可达近千页。许多厂家也给出庞大软件开发包(发包(Software Development KitSoftware Development Kit,SDKSDK),但设计人员需要花许多精力),但设计人员需要花许多精力从中析出个体需要。智能终端开发人员通常花费太多的精力在基于芯片级硬从中析出个体需要。智能
19、终端开发人员通常花费太多的精力在基于芯片级硬件设计及基于寄存器级的底层驱动设计上,开发方式存在软硬件开发颗粒度件设计及基于寄存器级的底层驱动设计上,开发方式存在软硬件开发颗粒度低、可移植性弱等问题低、可移植性弱等问题。第第1212页页 共共4848页页 2.解决解决办法办法 三个提高三个提高 (1 1)提高硬件设计的颗粒度提高硬件设计的颗粒度。若能将。若能将MCUMCU硬件最小系统及面向领域应硬件最小系统及面向领域应用的共性电路封装成一个整体,则可提高用的共性电路封装成一个整体,则可提高UEUE的硬件设计颗粒度。硬件设计的硬件设计颗粒度。硬件设计也可从元件级过度到硬件构件级为主的设计场景。也可
20、从元件级过度到硬件构件级为主的设计场景。(2 2)提高软件编程颗粒度提高软件编程颗粒度。若能设计出基于模块共性知识要素的底层。若能设计出基于模块共性知识要素的底层驱动构件,屏蔽寄存器级编程之差异,则可把软件编程颗粒度从寄存器级提驱动构件,屏蔽寄存器级编程之差异,则可把软件编程颗粒度从寄存器级提高到知识要素级。高到知识要素级。(3 3)提高软硬件可移植性提高软硬件可移植性。若能从共性知识要素角度研究可移植性问。若能从共性知识要素角度研究可移植性问题,屏蔽芯片生产厂家、编译器类型等因素,遵循软硬件构件的设计原则,题,屏蔽芯片生产厂家、编译器类型等因素,遵循软硬件构件的设计原则,则可提高软硬件的可移
21、植性。则可提高软硬件的可移植性。第第1313页页 共共4848页页 3.通用通用嵌入式计算机嵌入式计算机GEC的的定义定义 一一个具有特定功能的通用嵌入式计算机(个具有特定功能的通用嵌入式计算机(General Embedded General Embedded ComputerComputer,GECGEC),体现在硬件与软件两个侧面。在硬件上,把),体现在硬件与软件两个侧面。在硬件上,把MCUMCU硬硬件最小系统及面向具体应用的共性电路封装成一个整体,为用户提供件最小系统及面向具体应用的共性电路封装成一个整体,为用户提供SOCSOC级级芯片的可重用的硬件实体,并按照硬件构件要求进行原理图绘
22、制、文档撰写芯片的可重用的硬件实体,并按照硬件构件要求进行原理图绘制、文档撰写及硬件测试用例设计。在软件上,把嵌入式软件分为及硬件测试用例设计。在软件上,把嵌入式软件分为BIOSBIOS程序与程序与UserUser程序程序两部分。两部分。BIOSBIOS程序先于程序先于UserUser程序固化于程序固化于MCUMCU内的非易失存储器(如内的非易失存储器(如FlashFlash)中,启动时,)中,启动时,BIOSBIOS程序先运行,随后转向程序先运行,随后转向UserUser程序。程序。BIOSBIOS提供工提供工作时钟及面向知识要素的底层驱动构件,并为作时钟及面向知识要素的底层驱动构件,并为U
23、serUser程序提供函数原型级调用程序提供函数原型级调用接口接口。与与MCUMCU对比,对比,GECGEC具有具有硬件直接可测性、用户软件编程快捷性与可移硬件直接可测性、用户软件编程快捷性与可移植性植性三个基本基本特点三个基本基本特点。第第1414页页 共共4848页页 4.如何构建如何构建GEC的生态系统的生态系统 普适意义上的生态系统是指可以持续发展一系列要素集合。普适意义上的生态系统是指可以持续发展一系列要素集合。GEC生生态系统是指态系统是指GEC的硬件、软件开发工具、底层驱动构件、操作系统、测的硬件、软件开发工具、底层驱动构件、操作系统、测试样例、应用样例、文档等集合,可以实现试样
24、例、应用样例、文档等集合,可以实现GEC快速规范的应用开发。快速规范的应用开发。目前基于目前基于RISC-V的的GEC基本生态系统包括:基本生态系统包括:(1)硬件开发板:)硬件开发板:AHL-XXX (2)AHL-GEC-IDE (3)RT-Thread实时操作系统的驻留实时操作系统的驻留 (4)标准工程框架)标准工程框架 (5)基础构件)基础构件 (6)软件及文档电子资源)软件及文档电子资源 (7)配套书籍)配套书籍 (8)应用案例)应用案例第第1515页页 共共4848页页 三三、基于、基于RISC-V的的CH32V307构建构建GEC生态系统生态系统 1.硬件开发板:硬件开发板:AHL
25、-CH32V307 第第1616页页 共共4848页页第第1717页页 共共4848页页 2.AHL-GEC-IDE (for AHL-CH32V307)与与AHL-GEC结合,具备直接直接下载运行,结合,具备直接直接下载运行,prinft打桩调试功打桩调试功能,实现能,实现GEC的类的类PC开发模式开发模式第第1818页页 共共4848页页 3.RT-Thread驻留在驻留在AHL-CH32V307的的BIOS中中 RTOS驻留于驻留于AHL-CH32V307的的BIOS内部,研究了内部,研究了RTOS下编程的下编程的统一接口,可以实现不同统一接口,可以实现不同RTOS编程的可移植与可复用编
26、程的可移植与可复用第第1919页页 共共4848页页 4.标准工程框架标准工程框架 做到做到“分门别类,各有归处分门别类,各有归处”第第2020页页 共共4848页页 main之前的运行流程之前的运行流程 第 一第 一 阶 段,寻 找 第 一 句 被 执 行 的 指 令。在阶 段,寻 找 第 一 句 被 执 行 的 指 令。在“.0 3 _ M C U0 3 _ M C U L i n k e r _ f i l eL i n k e r _ f i l e C H 3 2 V 3 0 7.l dC H 3 2 V 3 0 7.l d”文 件 中,文 件 中,“ENTRY(_start)”EN
27、TRY(_start)”设定芯片执行的第一条指令存放在标签设定芯片执行的第一条指令存放在标签“_start”_start”处。处。“_start”_start”在启动文件中定义,其第一条指令为在启动文件中定义,其第一条指令为“j j handle_resethandle_reset”,即进,即进入启动流程的第二阶段入启动流程的第二阶段执行复位服务程序。执行复位服务程序。第二第二阶段,执行复位服务程序。复位服务程序阶段,执行复位服务程序。复位服务程序handle_resethandle_reset在在“.03_MCU03_MCUstartup startup system_ch32v30 x.c
28、system_ch32v30 x.c”文件中,首先初始化全文件中,首先初始化全局指针(局指针(Global PointerGlobal Pointer,GPGP),),GPGP可以优化可以优化2KB2KB内全局变量的访问;内全局变量的访问;其次初始化堆栈指针(其次初始化堆栈指针(Stack PointerStack Pointer,SPSP),把),把_ _estackestack的值赋给的值赋给SPSP;接;接着对数据初始化:将数据段内容从着对数据初始化:将数据段内容从FlashFlash复制到复制到RAMRAM中,清零未初始化中,清零未初始化BSSBSS数据段,使用机器模式并打开中断;最后
29、对芯片的中断向量表、系统时数据段,使用机器模式并打开中断;最后对芯片的中断向量表、系统时钟及看门狗进行初始化,对于钟及看门狗进行初始化,对于useruser程序,还要判断其是否需要使用程序,还要判断其是否需要使用BIOSBIOS的的中断服务程序完成了这些工作,芯片就可以跳转到中断服务程序完成了这些工作,芯片就可以跳转到mainmain函数中运行了函数中运行了。第第2121页页 共共4848页页 5.基础构件基础构件 基础构件是面向芯片级的硬件驱动构件,是符合软件工程封装规范的芯片硬件驱动程序。其特点是面向芯片,以知识要素为核心,以模块独立性为准则进行封装。务必做到:一个构件由一个务必做到:一个
30、构件由一个.h与一个与一个.c文件构成,而不是文件构成,而不是多个文件多个文件第第2222页页 共共4848页页 6.软件及文档电子资源软件及文档电子资源第第2323页页 共共4848页页 7.配套书籍:配套书籍:RISC-V嵌入式开发实践嵌入式开发实践 第第2424页页 共共4848页页 8.其他型号其他型号 AHL-CH32V307-NB-IoT、AHL-CH32V307-WiFi AHL-CH32V307-Cat1 第第2525页页 共共4848页页 四、四、基于基于RISC-V的的D1-H构建构建GEC生态系统生态系统 1.硬件:硬件:AHL-D1-H 第第2626页页 共共4848页
31、页第第2727页页 共共4848页页 2.AHL-GEC-IDE (for AHL-D1-H)与与AHL-GEC结合,具备直接直接下载运行,结合,具备直接直接下载运行,prinft打桩调试功打桩调试功能,实现能,实现GEC的类的类PC开发模式开发模式第第2828页页 共共4848页页 3.RT-Thread驻留在驻留在AHL-D1-H的的BIOS中中 RTOS驻留于驻留于AHL-D1-H的的BIOS内部,研究了内部,研究了RTOS下编程的统一接下编程的统一接口,可以实现不同口,可以实现不同RTOS编程的可移植与可复用编程的可移植与可复用第第2929页页 共共4848页页 4.标准工程框架标准工
32、程框架 做到做到“分门别类,各有归处分门别类,各有归处”第第3030页页 共共4848页页 main之前的运行流程之前的运行流程 第一第一阶段阶段,上电启动运行内部固化引导程序。,上电启动运行内部固化引导程序。D1上电后,首先运行内置上电后,首先运行内置ROM中引导程序,这个内置中引导程序,这个内置ROM被称为被称为Boot ROM,简称,简称BROM。在。在D1芯芯片中,其地址从片中,其地址从0 x0开始,功能为在外部存储器中寻找后续执行的程序。外部开始,功能为在外部存储器中寻找后续执行的程序。外部存储器的主要类型有存储器的主要类型有NOR Flash、NAND Flash、SD card、
33、eMMC等,例如,等,例如,AHL-D1开发板的外部存储器是开发板的外部存储器是NOR Flash。在。在AHL-D1软件的工程框架中,软件的工程框架中,在在“.03_MCUstartupstart.S”中可以看到给中可以看到给BROM配置的引导头信息,包含配置的引导头信息,包含第二阶段程序加载器(第二阶段程序加载器(Second Program Loader,SPL)的基本信息)的基本信息。第第3131页页 共共4848页页 第二第二阶段阶段,片内,片内SDRAM运行运行SPL程序。当程序。当BROM启动完成后,接下来启动完成后,接下来根据引导头的信息加载根据引导头的信息加载SPL程序到片内
34、程序到片内SDRAM(同步动态随机存取内存,(同步动态随机存取内存,Synchronous Dynamic Random-Access Memory,简称,简称SDRAM)中,从地址)中,从地址0 x00020000开始运行,开始运行,SPL具有初始化时钟、串口、片外具有初始化时钟、串口、片外DDR(Double Data Rage RAM,双数据率,双数据率RAM)等功能。在)等功能。在AHL-D1软件的工程框架中,之后软件的工程框架中,之后会调用会调用“.00_boot0sys-copyself.c”中的中的sys_copyself函数,将所有程序读取函数,将所有程序读取到片外到片外DDR
35、中,并将中,并将PC指向指向0 x40000000即可跳转到外接即可跳转到外接DDR中。中。第三第三阶段,片外阶段,片外DDR运行程序。此时程序根据运行程序。此时程序根据PC指向地址跳转到片外指向地址跳转到片外DDR中运行,此时会再去运行一遍中运行,此时会再去运行一遍start.S,进行一些配置操作,而其中对于,进行一些配置操作,而其中对于串口、时钟以及外接串口、时钟以及外接ddr的初始化,通过位置无关代码来判断当前的初始化,通过位置无关代码来判断当前PC地址与地址与链接文件中的地址是否相同从而避免重复运行,然后进行堆栈的初始化,开链接文件中的地址是否相同从而避免重复运行,然后进行堆栈的初始化
36、,开机器模式中断,最后跳转到机器模式中断,最后跳转到main函数中运行函数中运行。第第3232页页 共共4848页页 5.基础构件基础构件 基础构件是面向芯片级的硬件驱动构件,是符合软件工程封装规范的芯片硬件驱动程序。其特点是面向芯片,以知识要素为核心,以模块独立性为准则进行封装。务必做到:一个构件由一个务必做到:一个构件由一个.h与一个与一个.c文件构成,而不是文件构成,而不是多个文件多个文件第第3333页页 共共4848页页 6.软件软件及文档电子及文档电子资源资源第第3434页页 共共4848页页 7.配套书籍配套书籍:嵌入式系统应用开发嵌入式系统应用开发基于基于RISC-V架构玄铁架构
37、玄铁处理器处理器 待出版待出版第第3535页页 共共4848页页 8.其他型号其他型号 AHL-D1-H-EORS 正在进行中正在进行中.第第3636页页 共共4848页页 五、嵌入式人工智能:物体认知系统五、嵌入式人工智能:物体认知系统 基于基于图像识别的嵌入式物体认知系统(图像识别的嵌入式物体认知系统(Embedded Object Recognition System,EORS)是利用嵌入式计算机通过摄像头采集物体图像,利用图)是利用嵌入式计算机通过摄像头采集物体图像,利用图像识别相关算法进行训练、标记,训练完成后,可进行推理完成对图像的像识别相关算法进行训练、标记,训练完成后,可进行推
38、理完成对图像的识别。识别。EORS主要目标用于嵌入式人工智能入门教学,试图把复杂问题简主要目标用于嵌入式人工智能入门教学,试图把复杂问题简单化,利用清晰的流程体现人工智能中单化,利用清晰的流程体现人工智能中“标记、训练、推理标记、训练、推理”的基本知识的基本知识要素。同时期望达到要素。同时期望达到“学习汉语拼音从啊(学习汉语拼音从啊(a)、喔()、喔(o)、鹅()、鹅(e)开)开始,学习英语从始,学习英语从A、B、C开始,学习嵌入式人工智能从开始,学习嵌入式人工智能从EORS开始开始”的效的效果。本章将利用前文已建立的果。本章将利用前文已建立的D1-H的的GEC生态系统,辅以摄像头和生态系统,
39、辅以摄像头和LCD传感器等,设计一套原理清晰、简单易用、可对简单物体进行识别的基于传感器等,设计一套原理清晰、简单易用、可对简单物体进行识别的基于图像处理的嵌入式物体认知系统图像处理的嵌入式物体认知系统。第第3737页页 共共4848页页 硬件实物硬件实物第第3838页页 共共4848页页 图像采集软件图像采集软件第第3939页页 共共4848页页 PC机模型训练界面机模型训练界面第第4040页页 共共4848页页 生成推理构件生成推理构件第第4141页页 共共4848页页 生成嵌入式推理工程生成嵌入式推理工程第第4242页页 共共4848页页 识别示例识别示例第第4343页页 共共4848页
40、页 识别示例识别示例第第4444页页 共共4848页页 六、教材的演进六、教材的演进 为了为了使读者更容易学习应用使读者更容易学习应用RTOS,2023年撰写了年撰写了实时操作系统实时操作系统应用技应用技术术基于基于RT-Thread与与ARM的编程的编程实践实践一书,一书,书书中采用将中采用将RT-Thread驻留于驻留于BIOS内部,在此基础上进行内部,在此基础上进行RTOS下应用开发的学习实践,架构简捷明了,编下应用开发的学习实践,架构简捷明了,编译链接速度快,符合应用开发特点。应用实例部分给出了基于译链接速度快,符合应用开发特点。应用实例部分给出了基于RISC-V架构架构D1-H芯片的
41、嵌入式人工智能(物体认知系统),以及基于芯片的嵌入式人工智能(物体认知系统),以及基于WiFi通信的物联网系统通信的物联网系统。原理浅析部分采用源码级剖析,利用。原理浅析部分采用源码级剖析,利用printf输出至工具计算机屏幕,清晰给输出至工具计算机屏幕,清晰给出运行原理,期望达到知其然也了解其所以然的目的。当然,对于原理部分,出运行原理,期望达到知其然也了解其所以然的目的。当然,对于原理部分,希望做到知其然还要知其所以然,但是限于原理部分较深,退其次,在重点面希望做到知其然还要知其所以然,但是限于原理部分较深,退其次,在重点面向应用开发的前提下,作为教材,改为了解其所以然,服务于应用编程。需要向应用开发的前提下,作为教材,改为了解其所以然,服务于应用编程。需要深入理解原理的读者,可参阅我们在深入理解原理的读者,可参阅我们在2021年撰写出版的嵌入式实时操作系统年撰写出版的嵌入式实时操作系统基于基于RT-Thread的的EAI&IoT的系统开发一的系统开发一书书(已经重印(已经重印4次)次),本教材是在本教材是在该著作基础上,简化原理,突出应用,面向教学而成的。该著作基础上,简化原理,突出应用,面向教学而成的。第第4545页页 共共4848页页 第第4646页页 共共4848页页 第第4747页页 共共4848页页Thank you第第4848页页 共共4848页页