打印
[移植指南]

基于APM32F103开发板的LiteOS移植指南

[复制链接]
2747|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 flampard 于 2022-5-6 13:25 编辑

APM32F103简介

芯片介绍:APM32F103xDxE系列MCU,基于32位ARM®Cortex®-M3内核,最高工作主频96MHz,支持FPU浮点运算单元,配置增强型外部存储控制器EMMC,支持USB和CAN接口同时使用;集成片上储存器、定时器以及数据转换器等多种外设接口,具有功耗低、容量大、可移植性好、Flash擦除/编程速度快等特点。目前已经通过中国IEC61508 SIL2认证和USB-IF测试,符合工业级高可靠性标准。适用于航模飞机、手持云台、扫码枪、报警器、密码锁、电子秤等领域。

硬件介绍:
开发板:APM32F103ZE_MINI
CPU:APM32F103ZET6
主频:96MHz
Flash/SRAM:512KB/128KB

移植准备

硬件环境:本实验使用了APM32F103ZE_MINI开发板、USB转TTL模块和JLINK烧录器。
软件环境:本实验需要先按照码云上的LiteOS教程搭建好linux环境(make、arm-none-eabi编译工具链)。
软件环境搭建教程参考:https://gitee.com/LiteOS/LiteOS/blob/master/doc/LiteOS_Build_and_IDE.md
本实验需要用户先下载APM32官方的SDK(当前使用版本为APM32F10x_SDK_V1.5)、数据手册、烧录器仿真器使用说明书等资料。链接地址:https://www.geehy.com/apm32?id=17
注:如果有APM32官方demo使用的keil软件可以直接按照APM32官方教程测试该开发板的串口和定时器的实现。
移植过程

1.创建目录框架
targets文件夹下新增APM32F103_Geehy文件夹,其目录结构参考STM32F103_FIRE_Arbitrary文件夹结构进行创建。
· 拷贝APM32官方SDK中的驱动库到targets\bsp\drivers下。
· 拷贝文件夹Inc、include、os_adapt、Src和文件liteos.ld、los_startup_gcc.S、Makefile到APM32F103_Geehy目录中。
· 替换Inc和Src中文件,将Inc目录下stm32f1xx_hal_conf.h、stm32f1xx.h、stm32f103xe.h、system_stm32f1xx.h文件替换为apm32f10x.h、system_apm32f10x.h;将Src目录下system_stm32f1xx.c文件替换为system_apm32f10x.c。
· 适配编辑配置,参考其他同架构的开发板在targets\bsp.mk、targets\bsp\Makefile、tools\build\config、targets\Kconfig.apm32中添加APM32F103相关内容。

最终板载目录结构如下:

上述步骤完成后执行下面两条指令进行调试:
· shell终端中输入命令make menuconfig,确保在文件夹targets\APM32F103_Geehy\include\下生成了menuconfig.h文件及根目录下的.config文件中内容是所配置的。
· shell终端中输入命令make clean && make –j,确保编译选项和文件链接正常。

2.移植代码
· 适配系统时钟
系统时钟是通过los_startup_gcc.S文件调用system_apm32f10x.c中的SystemInit来初始化,无需主动实现。
· 适配串口
参考APM32官方SDK中的Examples\USART\Printf文件夹下示例,实现串口初始化和UartControllerOps结构体。
· 适配定时器(用于cpup,计算cpu使用率)
参考APM32官方SDK中的Examples\TMR\TimeBase文件夹下示例,实现定时器初始化和TimControllerOps结构体。

3.编译烧录测试
上述步骤完成后,在shell终端输入命令make clean && make –j进行编译,编译成功会在out\APM32F103_Geehy\下生成Huawei_LiteOS.bin文件。通过JLINK下载生成的Huawei_LiteOS.bin文件到开发板,本实验使用JLINK软件中的J-Flash Lite.exe来进行烧录:
· 打开J-Flash Lite.exe
· 配置烧写芯片为APM32F103ZET6
· 修改烧录地址为0x08000000(默认烧录地址是0x00000000)
· 点击Program Device进行烧录

参考文献链接:
[1]APM32官方资料:https://www.geehy.com/apm32?id=13

结语

至此,LiteOS系统成功启动和运行。该移植工程已经在Gitee LiteOS社区上线,相关代码链接地址为:https://gitee.com/LiteOS/LiteOS/tree/master/targets/APM32F103_Geehy

使用特权

评论回复
沙发
JimN| | 2022-5-6 15:49 | 只看该作者
本帖最后由 JimN 于 2022-5-6 15:50 编辑

非常有用的技术介绍

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:极海半导体
简介:珠海极海半导体有限公司是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。

4

主题

9

帖子

0

粉丝