国产开发板移植指南-APM32F10
APM32F103简介
厂家介绍 :珠海极海半导体有限公司,是艾派克微电子旗下全资子公司,其前身为艾 派克物 联网芯片事业部,总部 为纳思达 股份有限公司。
芯片介绍: APM32F103xDxE 系列 MCU ,基于 32 位 ARM®Cortex ®-M3 内核,最高工作主频 96MHz ,支持 FPU 浮点运算单元,配置增强型外部存储控制器 EMMC ,支持 USB 和 CAN 接口同时使用;集成片上储存器、定时器以及数据转换器等多种外设接口,具有功耗低、容量大、可移植性好、 Flash 擦除 / 编程速度快等特点。目前已经通过中国 IEC61508 SIL2 认证和 USB-IF 测试,符合工业级高可靠性标准。适用于航模飞机、手持云台、 扫码枪 、报警器、密码锁、电子秤等领域。
硬件介绍:
开发板: APM32ZE_MINI
CPU : APM32F103ZET6
主频: 96MHz
Flash/SRAM : 512KB/128KB
移植准备
硬件环境: 本实验使用了 APM32ZE_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
感谢您的阅读,有任何问题、建议,都可以留言给我们,让我们一起进步:
https://gitee.com/LiteOS/LiteOS/issues
为了更容易找到“ LiteOS ”代码仓,建议访问 https://gitee.com/LiteOS/LiteOS ,关注“ Watch ”、 点赞“ Star ” 、并“ Fork ”到自己账号下,如下图。
- end-
- 点赞
- 收藏
- 关注作者
评论(0)