HPM6750系列--第六篇 创建自己的工程

一、目的

细心的朋友可能会发现官方提供了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的设计和脚本的编写上可见一斑)

经验分享 程序员 微信小程序 职场和发展