先楫半导体HPMicro
直播中

ouxiaolong

11年用户 470经验值
擅长:嵌入式技术 光电显示
私信 关注

【先楫HPM5361EVK开发板试用体验】HPM5361EVK工程实例开发编译

1 创建新工程

前文,笔者讲了Linux和Windows下的开发环境搭建,下面就是使用SDK创建新的工程。

sdk_env自录下有两种创建工程的方式,即命令行工具和GUI Project Generator-工具,用户可根据自己的喜好选择适合自己的方式。

1.1 命令行新建工程

以命令行工具为例,双击打开sdk_env_vx.x.x下start_cmd.cmd。

1.png

该脚本将打开一个终端。

2.png

切换路径至SDK具体的一个示例程序,以hello_world为例。

cd hpm_sdk/samples/hello_world

3.png

运行以下命令进行支持目标板查询。

generate_project -list

4.png

确认目标板名称后就可以通过运行以下命令进行工程构建,若构建成功,将看到如下类似提示。

generate_project -b hpm5300evk

5.png

注1:generate._project可以生成多种工程类型,如:flash_xip(链接完成后的应用程序将会在flash地址空间原地执行),debug(链接完成后的应用程序将会在片上sram中执行,掉电后程序不能保存)等。默认是使用的sram中运行。

注2:当调试flash目标时,建议把启动配置(具体请参考表4)拨为在系统编程(ISP)模式,以免flash内已烧录的程序对当前调试过程产生影响。

生成工程后,在例程目录下就会有相应的目录。

6.png

segger_embedded_studio的目录下就是Segger Embedded Studio的工程文件,双击hello_world.emProject可打开该工程,其他编译方式同理。

1.2 GUI Project Generator新建工程

双击打开stat_gui.exe。

7.png

在GUI project generator界面中的“SDK Sample”下拉列表中选择“hello_world”,在“SDK Boards”下拉列表中选择”hpm5300evk”,在“Build Type”下拉列表中选择“flash_xip”。

最后点击”Generate Project”按钮,即可生成xip类型的hello_world工程。

7.png

点击“Open Project with IDE”即可快速打开hello_world.工程。

2 编译下载调试程序

下面笔者使用IED和命令行分别开发程序。

2.1 SEGGER Embedded Studio for RISC-V开发

笔者这里使用SEGGER Embedded Studio for RISC-V开发。打开hello_world.工程。

9.png

编译工程。

10.png

编译完成后提示编译OK即可。

11.png

接下来就可以及调试了。

12.png

值得注意的是,如果要用FT2232-to-JTAG模式,需要把TRST,TDL,TMS,TDO,TCK跳线帽安装上;如果需要使用JTAG直连方式,则需要把这五个跳线帽拔掉。

13.png

然后在Segger Embedded Studio中配置串口。

14.png

注意设置串口的波特率为115200。

然后连接串口即可。

15.png

然后打开串口。

16.png

即可看到运行的程序。

20.png

2.2 SDK工具开发

运行start_cmd.cmd脚本文件。

2.2.1 编译程序

以下步骤描述了如何编译hello_world:

1. 切换到示例应用目录:

cd hpm_sdk/samples/hello_world

2. 创建build目录:

  • Linux:

mkdir build

  • Windows:

md build

3. 切换目录到"build"

cd build

4. 为Ninja-build产生构建文件:

cmake -GNinja -DBOARD=hpm5300evk ..

17.png

5. 编译:

ninja

18.png

当编译完成后,生成的elf以及对应的其他文件可以在output目录中找到.

19.png

2.2.2运行/调试代码

  1. 完成评估板连线,包括调试器,串口线以及电源线
  2. 打开电源
  3. 打开串口软件,设置baudrate为115200
  4. 安装openocd(0.11以上)
  5. 切换至SDK根目录, 运行设置环境变量脚本:
  6. 运行openocd, 需要按顺序指定配置文件: 调试器配置, 内核配置, 目标板配置。例如,通过ft2232在hpm5300evk上进行单核调试,可以运行如下命令:

openocd -f probes/ft2232.cfg -f soc/hpm5361.cfg -f boards/hpm5300evk.cfg

7.连接GDB client到openocd GDB server (缺省状态下, openocd gdbserver 端口为 3333)

riscv32-unknown-elf-gdb

gdb> file build/output/demo.elf

gdb> target remote localhost:3333

gdb> load

gdb> b main

gdb> c

  1. 顺利运行后可以在串口终端上打印"hello_world".

在线文档:

http://hpm-sdk.readthedocs.io/

http://hpm-sdk-zh.readthedocs.io/

更多回帖

发帖
×
20
完善资料,
赚取积分