拷贝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,确保编译选项和文件链接正常。
适配系统时钟
系统时钟是通过los_startup_gcc.S文件调用system_apm32f10x.c中的SystemInit来初始化,无需主动实现。
适配串口
参考APM32官方SDK中的Examples\USART\Printf文件夹下示例,实现串口初始化和UartControllerOps结构体。
适配定时器(用于cpup,计算cpu使用率)
参考APM32官方SDK中的Examples\TMR\TimeBase文件夹下示例,实现定时器初始化和TimControllerOps结构体。
3.编译烧录测试
打开J-Flash Lite.exe
配置烧写芯片为APM32F103ZET6
修改烧录地址为0x08000000(默认烧录地址是0x00000000)
点击Program Device进行烧录