STM32MP135 OPTEE源码移植教程  一、解压optee的源码压缩包 二、拷贝新的设备树文件 三、修改Makefile.sdk文件 (1)增加stm32mp135d-atk设备树编译 (2)修改编译器为arm-none-linux-gnueabihf (3)使用buildroot工具链,且不编译FIP选项 (4)只编译stm32mp135-atk设备树   四、修改设备树相关文件 (1)修改编译配置文件 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/plat-stm32mp1/conf.mk   (2)设备树移除MCO时钟输出 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/dts/stm32mp135d-atk.dts   (3)解除poweroff关机后系统通过watchdog重启 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/dts/stm32mp135d-atk.dts   (4)调试串口UART4 RX引脚开启内部上拉 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/dts/stm32mp13-pinctrl-atk.dtsi   (5)添加有源晶振配置 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/dts/stm32mp135d-atk.dts       
  
 
 一、解压optee的源码压缩包  
 
tar  xf optee-os-stm32mp-3.16.0-stm32mp-r2-r0.tar.xz
cd  optee-os-stm32mp-3.16.0-stm32mp-r2
tar  xf .. /fonts.tar.gz
for  p  in  ` ls  -1  .. /*.patch` ;  do  patch -p1  <  $p ;  done 
  
 二、拷贝新的设备树文件  
cp  optee-os-stm32mp-3.16.0-stm32mp-r2/core/arch/arm/dts/stm32mp13-pinctrl.dtsi optee-os-stm32mp-3.16.0-stm32mp-r2/core/arch/arm/dts/stm32mp13-pinctrl-atk.dtsi
cp  optee-os-stm32mp-3.16.0-stm32mp-r2/core/arch/arm/dts/stm32mp135f-dk.dts optee-os-stm32mp-3.16.0-stm32mp-r2/core/arch/arm/dts/stm32mp135d-atk.dts
  
 三、修改Makefile.sdk文件  
 (1)增加stm32mp135d-atk设备树编译  
 
 (2)修改编译器为arm-none-linux-gnueabihf  
 
 (3)使用buildroot工具链,且不编译FIP选项  
 
 (4)只编译stm32mp135-atk设备树  
 
 四、修改设备树相关文件  
 (1)修改编译配置文件  
 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/plat-stm32mp1/conf.mk  
 
 (2)设备树移除MCO时钟输出  
 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/dts/stm32mp135d-atk.dts  
 
 (3)解除poweroff关机后系统通过watchdog重启  
 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/dts/stm32mp135d-atk.dts  
 
 (4)调试串口UART4 RX引脚开启内部上拉  
 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/dts/stm32mp13-pinctrl-atk.dtsi  
 
 (5)添加有源晶振配置  
 1、文件路径:optee-os-stm32mp-3.16.0-stm32mp1-r1/core/arch/arm/dts/stm32mp135d-atk.dts