【SemiDrive G9 系列软件开发】 G9H PTG5.1 Freertos 环境搭建

一、前言

         在芯驰 G9 系列软件包中,从 PTG5.1 开始不再提供默认的 safety 域的工程配置,镜像文件。默认Safety 域使用预编译的 mcal 镜像。

         但是在实际使用中,经常需要使用 freertos 做模块以及功能测试。因此需要修改配置文件,编译出 freertos 版本的 satety 域镜像。

         本文测试开发板采用 G9H Ref A02 开发板图(1)。

 

图(1)

 
 


二、代码下载与编译

        以下操作步骤均根据 Semidriver 提供的 docker 镜像创建的 docker 容器环境中执行。容器的创建方法请自行参考相关文档。

1.加载 rsa 密钥

$eval 'ssh-agent'

$ssh-agent bash

$ssh-add id_rsa

2.下载 buildsystem 包      

图(2)


3.设置环境变量和配置文件

$export PATH=/tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin:/tool/gcc_linaro/gcc-arm-none-eabi-7.3.1/bin:/tool/repo_tools:$PATH

由于 ATF 编译所指定的交叉工具链和 Freertos 等模块所使用的不相同,需要在芯驰支持网站上下载 gcc_linaro_7.3.1.tar.gz,解压到容器中对应的路径中。

$source lunch_sd.sh -c G9H_Ref_Linux_1G_ssdk_3200.json -b G9_3.0.0_PTG5.1 -u g9

G9H_Ref_Linux_1G_ssdk_3200.json 为工程配置文件,根据默认文件客户可自行定制。

图(3)

4.同步代码

同步编译打包签名等工具

$make inittools

同步 SDK

$make sync_all

 

5.编译代码

$make build_all


图(4)

 

注意:atf 模块需要指定的编译器,需要确保 makefile 文件中指定的编译器路径中有对应的编译器文件。

 

6.打包

Make genpac

将编译所产生的二进制文件,打包并签名,生成 ospi.pac global.pac用于烧写到开发板中去。




7.修改 safety 域配置文件

       根据顶层 Makefile 文件,safety 域默认使用预编译好的 mcal 镜像,因此,为了使 safety 使用 freertos,需要修改默认的 json 配置文件,SD_BUILD_SAFETY_OS 变量不能配置为rtos(X9 系列的 freeros) 和 mcal,根据以上分析,将 SD_BUILD_SAFETY_OS  配置为 SSDK,并将文件名由 G9H_Ref_Linux_1G_ssdk_3200.json。如图(5)所示。

  

图(5)

 

 

三、下载并运行

1.使用管理员权限打开 sd 下载工具,并加载 images。如图(6)


图(6)


  1. 如果已经烧写过镜像,可以仅替换 safety 域的 bin 文件,操作方式如图(7)所示

图(7)


3. 启动运行

        启动开发板,在调试界面输入 help,此时显示的测试命令和 freertos 中的一致。见图(8)

图(8)

 

 

 

四、 参考文献:

  1. SD_G9_SDK_Reference_Manual_Rev1.4.pdf
  2. SD_G9H_Quick_Start_Rev1.01.pdf


欢迎在博文下方留言评论,我们会及时回复您的问题。

如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com   
作者:Sim Guo / 郭夕峰

更多资讯,请扫码关注我们!


★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论