一、目的
细心的朋友可能会发现官方提供了HPM-Sdk仓库,示例代码都是作为一个文件夹的形式放在此仓库下,我们之前都是直接拷贝里面的工程进行演示。
下面我们就具体来分析一下hello_world工程的文件组成,这样我们就可以创建自己的工程。
二、介绍
现在让我们仔细研究一下hello_world工程
CMakeLists.txt是cmake构建脚本文件
cmake_minimum_required要求cmake的版本至少为3.13
find_package用于查找hpm-sdk(从环境变量HPM_SDK_BASE)
project定义工程名称
sdk_app_src指定工程源码文件
generate_ses_project生成segger工程文件
hello_world.c源码文件
board.h板级头文件
main函数中首先调用board_init进行板级初始化,然后初始化GPIO引脚,创建一个300ms的定时器用于周期性开关LED
从整体上来整个工程干净整洁(给先楫的工程师点赞)。
关于示例工程的介绍到此为止。
HPM_SDK说明
下面我们进入到HPM-SDK中进一步学习下
1、目录结构
我们针对sdk目录下的CMakeLists.txt进行说明
1、设置堆栈、flash、sdram大小信息
获取flash、sdram的大小并设置_flash_size、_extram_size这个两个链接器变量;
根据变量HEAP_SIZE/STACK_SIZE设置堆/栈大小
2、设置编译类型
可以设置的编译目标类型包括:flash_xip、flash_sdram_xip、flash_uf2、flash_sdram_uf2等;通过这个关键字定义不同的宏变量。
3、添加系统头文件路径以及添加子模块(子目录)
4、指定链接脚本
5、根据不同的工具链设置链接库
6、双核相关的配置
以上就是SDK的基本情况(先楫内部的人综合能力很强啊,从SDK的设计和脚本的编写上可见一斑)