差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
digi:arm-embedded:ccmp2:ccmp25plc [2025/08/06 11:05] – 创建 robindigi:arm-embedded:ccmp2:ccmp25plc [2025/08/06 18:07] (当前版本) robin
行 1: 行 1:
-#### 编译ccmp25plc镜像 ####+==== ccmp25plc optee处理 ==== 
 +在ccmp25plc第一版ST官方设计中,GPIO使用了PH4,PZ2这两个引脚,其中早期的Digi设备树中,这两个引脚在optee中被配置为安全的GPIO引脚, 
 +https://github.com/digi-embedded/optee_os/blob/4.0.0/stm/maint/core/arch/arm/dts/ccmp25-dvk-rif.dtsi#L487 
 + 
 +https://github.com/digi-embedded/optee_os/blob/4.0.0/stm/maint/core/arch/arm/dts/ccmp25-dvk-rif.dtsi#L559 
 +如果你打算将它们用作普通GPIO引脚,可以将两者的代码更改为非安全模式(只需复制它们相邻行的参数)。 
 + 
 +在官方dey的源码路径中编译: 
 +<code>  
 +~/native-dey/workspace/ccmp25/tmp/work/ccmp25_dvk-dey-linux/optee-os-stm32mp/4.0.0-stm32mp-r1/git/core/arch/arm/dts 
 +bitbake -c devshell optee-os-stm32mp 
 +ls ../build/optee-ccmp25-dvk/core/arch/arm/dts/ -la 
 +查看当前日期 
 +bitbake -c devshell optee-os-stm32mp 
 +make ${EXTRA_OEMAKE} LIBGCC_LOCATE_CFLAGS=--sysroot=/home/robin/native-dey/workspace/ccmp25/tmp/work/ccmp25_dvk-dey-linux/optee-os-stm32mp/4.0.0-stm32mp-r1/recipe-sysroot  PLATFORM=stm32mp2 CRYPTOGRAPHY_OPENSSL_NO_LEGACY=yes CFG_EMBED_DTB_SOURCE_FILE=ccmp25-dvk.dts 
 +</code> 
 +上面命令可编译optee,但这样编译只在output目录里,optee-os-stm32mp配方属于meta-st-stm32mp层,optee 系统会被tf-a-stm32mp配方合并到uboot中,生成的二进制固件镜像程序(FIP)是 tmp/deploy/images/ccmp25-dvk/fip-ccmp25-dvk-optee-emmc.bin -> fip/fip-ccmp25-dvk-optee-emmc.bin 
 + 
 +正确的做法是用一个optee-os-stm32mp 的bbappend来打patch,以便更改DT,注意,meta-custom中,一般bbappend一般把文件放在dey目录下,而不是files,更改示例在: 
 +https://github.com/peyoot/meta-custom/blob/7d26d633cb711a4d54cbbaad62e185cd82d56dc9/recipes-security/optee/optee-os-stm32mp_4.0.0.bbappend 
 + 
 +注意到在2025年5/13的commits中,已经把这两个引脚改为普通的GPIO。所以相应的,我们可以移除ccmp25plc的对应配方。 
 + 
 + 
 +==== 编译ccmp25plc镜像 ====
  
 配置文件: 配置文件: