#申请原创# 前面写了两篇帖子,在下载固件时遇到了一些问题,静下心来,认真学习了一下APM32F10x_SDK1.8这个软件包。
1、例程默认是APM32F103ZE这块芯片的,所以需要需要切换到自己的芯片,要不下载等都会遇不同的问题,而且还跑不起来。
2、默认Define那里也需要修改为107,虽然不修改也可以跑。
修改好后板级的配置才会对得上号:
3、debug调试端口选择中要选择sw,要不芯片型号选择对不上,下载会出错。
4、基于开发板的一些宏定义,在\APM32F10x_SDK_V1.8\Boards\Board_APM32F107_MINI\inc文件夹下的Board_APM32F107_MINI.h中定义了板子的LED、KEY、UART等宏定义,而且在main.h中把他包含进来了,如果是用examples下的demo进行改写,这些就不需要自己定了,非常方便,便是如何路径修改了,一定要记修改头文件的包含与.c文件的重新引用,对于新手,会报错,难查找原因。下面的宏定义代码:
5、同时\APM32F10x_SDK_V1.8\Boards\Board_APM32F107_MINI\src文件夹下的Board_APM32F107_MINI.c对板载外设LED、KEY、串口的初始化配置函数:
- void APM_MINI_LEDInit(Led_TypeDef Led); //LED初始化
6、在\APM32F10x_SDK_V1.8\Boards目录下有board.c/h根据define的定义来定位包含哪个板载的初化文件,所以如果自己建的工程,记得包含这个文件进去:
- /* Includes */
- #include "Board.h"
- #if defined (APM32F103_MINI)
- #include "Board_APM32F103_MINI\src\Board_APM32F103_MINI.c"
- #elif defined (APM32F103VCS_MINI)
- #include "Board_APM32F103VCS_MINI\src\Board_APM32F103VCS_MINI.c"
- #elif defined (APM32F107_MINI)
- #include "Board_APM32F107_MINI\src\Board_APM32F107_MINI.c"
- #else
- #error "Please select first the APM32 board to be used (in board.c)"
- #endif
7、文件apm32f10x_int.c,这是初始中断函数的文件,创建了如下这些函数,如果有中断的使用,记得在这个文件里面修改中断,在移植freeRTos时,记得要在这里屏蔽一些函数:
- void NMI_Handler(void);
- void HardFault_Handler(void);
- void MemManage_Handler(void);
- void BusFault_Handler(void);
- void UsageFault_Handler(void);
- void SVC_Handler(void);
- void DebugMon_Handler(void);
- void PendSV_Handler(void);
- void SysTick_Handler(void);
8、板级外设驱动函数放在\APM32F10x_SDK_V1.8\Libraries\APM32F10x_StdPeriphDriver目录的src\inc目录下面,如果自建模版记得在这下面录找。
9、在目录APM32F10x_SDK_V1.8下面放有readme.md、Readme.pdf两种格式的帮助文件。还有APM32F10x_SDK_um.chm这个SDK的详细说明文件,这些都是在以后开发中需要查询的重要文档。
10、在APM32F10x_SDK_V1.8\Examples\Template\Template\Project目录下面给出了Eclipse、IAR、MDK的空白模板大家需要的可以利用这个来新建工程。
11、在目录APM32F10x_SDK_V1.8\Examples下面,给出了所有外设的示例工程,大家可以用这个示例快速的开发。
【总结】今天拿到了这款极海的AMP32F107开发板,从官方提供的资料我进行了初步的学习、了解,感觉极海用了心思来做产品,提供的SDK可以说非常完善。如果有stm32开发经验的人,极易上手。同时也感谢21ic提供这么好的机会,让我认识了极海。
|