Linux第25步_在虚拟机中备份“ST官方的TF-A源码”

这篇具有很好参考价值的文章主要介绍了Linux第25步_在虚拟机中备份“ST官方的TF-A源码”。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TF-A是ARM公司提供的,ST公司通过修改它,做了一个自己的TF-A代码。因为在后期开发中,若硬件被改变了,我们需要通过修改"ST官方的TF-A源码"就可以自己的TF-A代码了。为了防止源文件被误改了,我们需要将"ST官方的TF-A源码"进行备份。

TF-A全称是Arm Trusted Firmware,有些资料也叫做ATF,一般中文资料叫做ARM可信固件。MP1内部集成了TrustZone,因此ST也提供了TF-A相关源码。

TF-A会先初始化DDR等外设,把UbootFlash(NANDNOR FLASHSDMMC )拷贝到 DDR 中。

如果我们直接去官方网站下载TF-A的源码,这样的开发难度太大。半导体厂商都会从TF-A官网下载源码,然后修改适配自己的芯片,把自家的芯片加进去。因此,我们可以直接使用半导体原厂给提供的TF-A即可

ST官方TF-Aubootkernel等源码下载链接为:

https://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32-mpu-openstlinux-distribution/stm32mp1dev.html

记得我们已经创建过的目录,如下:

在根目录下,创建一个“linux”目录。

“linux” 目录下,创建一个“nfs”的文件夹,用来nfs服务器使用,便于我们的开发板上通过网络文件系统来访问这个”nfs“文件夹

linux目录下,创建一个tool文件夹,,创建tool文件夹,用来存放“Ubutun交叉编译工具链”

现在,我们还需要创建几个目录:

在“linux”目录下创建“atk-mp1”目录;

在“/linux/atk-mp1/目录下创建“tf-a”目录

在“/linux/atk-mp1/”目录下,创建“my-tfa”目录,用来保存“ST官方的TF-A源码

1、打开终端

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd linux回车”,切换到“linux”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“mkdir atk-mp1回车”,在“linux”目录下创建“mkdir atk-mp1”目录

输入“ls回车”,列出当前目录下所有的文件和文件夹

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

2、将“ST官方的TF-A源码”

en.SOURCES-stm32mp1-openstlinux-5-4-dunfell-mp1-20-06-24.tar.xz” 压缩包,使用FileZilla把它拷贝到“atk-mp1”目录下。见下图:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

见下图上传中:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

上传成功后,见下图:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享 3、输入“cd atk-mp1回车”,切换“atk-mp1”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

 4、输入下面的命令

输入“tar -xvf en.SOURCES-stm32mp1-openstlinux-5-4-dunfell-mp1-20-06-24.tar.xz回车”,解压该文件。

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/回车”

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd sources/回车”,切换到“sources”目录下

输入“ls回车”,列出当前目录“sources”目录下所有的文件和文件夹

输入“cd arm-ostl-linux-gnueabi/回车”,切换到“arm-ostl-linux-gnueabi”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

“u-boot-stm32mp-2020.01-10”就是ST公司uboot源码包,它支持了STM32MP1家族全系列芯片。见下图:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

 tf-a-stm32mp-2.2.r1-r0支持ST所有的所有的STM32MP1芯片,也支持各种启动方式例如:EMMC、 NAND、NOR FLASH 等。tf-a-stm32mp-2.2.r1-r0里面包含了ST自家所有的MP1评估板,后续的移植都是以STM32MP157C-EV1开发板为蓝本,在此基础上进行修改

5、输入“cd tf-a-stm32mp-2.2.r1-r0/回车”,切换到“tf-a-stm32mp-2.2.r1-r0”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“ls回车”,输入“ls -l回车

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

6、输入“tar -vxf tf-a-stm32mp-2.2.r1-r0.tar.gz回车,解压

输入“ls回车”,列出“tf-a-stm32mp-2.2.r1-r0”目录下所有的文件和文件夹

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

7、输入“cd tf-a-stm32mp-2.2.r1/回车”,切换到“tf-a-stm32mp-2.2.r1”目录下

输入“ls回车”,列出“tf-a-stm32mp-2.2.r1”目录下所有的文件和文件夹

输入“for p in `ls -1 ../*.patch`; do patch -p1 < $p; done回车

说明:“for p in `ls -1 ../*.patch`; do patch -p1 < $p; done回车”,这条命令的意思是把上一层目录下的所有“.patch”后缀的文件都通过patch命令打补丁到TF-A的源码目录,在这里就是将001-st-update-v2.2-r2.0.0.patch这个补丁打入到 TF-A源码里面。由于“ST官方源码”的目录实在太长了,为了方便调试,在 atk-mp1目录下创建一个名为“tf-a”的子目录,然后将打完补丁的 tf-a-stm32mp-2.2.r1-r0目录下的所有文件都拷贝到 “tf-a”目录下

8、我们再另外打开一个新的终端

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd linux/回车”,切换到“linux”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd atk-mp1/回车”,切换到“atk-mp1”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“mkdir tf-a/回车”,在“atk-mp1”目录下创建“tf-a”目录

输入“ls回车”,列出“tf-a”目录下所有的文件和文件夹

输入“cd stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24/回车”,切换到“stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24”目录下;

输入“ls回车”,列出“stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24”目录下所有的文件和文件夹

输入“cd sources/回车”,切换到“sources”目录下;

输入“ls回车”,列出“sources”目录下所有的文件和文件夹

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

输入“cd arm-ostl-linux-gnueabi/回车”,切换到“arm-ostl-linux-gnueabi”目录下;

输入“ls回车”,列出“arm-ostl-linux-gnueabi”目录下所有的文件和文件夹

输入“cd tf-a-stm32mp-2.2.r1-r0/回车”,切换到“tf-a-stm32mp-2.2.r1-r0”目录下;

输入“ls回车”,列出“tf-a-stm32mp-2.2.r1-r0”目录下所有的文件和文件夹

输入“cp * /home/zgq/linux/atk-mp1/tf-a/ -rf回车”,拷贝文件到tf-a

输入“cd ..回车”,返回至上层目录,到达“arm-ostl-linux-gnueabi”目录

输入“cd ..回车”,返回至上层目录,到达“sources”目录下

输入“cd ..回车”,返回至上层目录,到达“stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24”目录下

输入“ls回车”,列出“stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24”目录下所有的文件和文件夹

输入“cd ..回车”,返回至上层目录,到达“atk-mp1”目录下

输入“ls回车”,列出“atk-mp1”目录下所有的文件和文件夹

输入“cd tf-a回车”,切换到“tf-a”目录下;

输入“ls回车”,列出“tf-a”目录下所有的文件和文件夹

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享 Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

9、创建TF-A工作区

1)在Ubuntu桌面,找到Visual Studio Code,在图标上右击鼠标,点击“打开”,见下图: 

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

得到下图:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

2)点击“文件”,再点击“打开文件夹”,见下图:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

3)点击下图中的“其他位置”

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

4)点击“计算机”,点击“home” ,点击“zgq”,点击“linux”,点击“atk_mp1”,点击“tf-a”,见下图:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

5)点击 “确定”,得到下面的界面:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

6)将“欢迎使用”关闭,再点击“文件”,点击“将工作区另存为…”,见下图操作:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

 得到下图:

7)输入“tf-a”,再点击“保存”

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

得到下图,可见到tf-a.code-workspace工作区间文件:

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享

10,在/linux/atk-mp1/目录下创建my-tfa目录,用来保存ST官方的TF-A源码”。

1)打开终端

2)输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd linux/回车”,切换到“linux”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd atk-mp1/回车”,切换到“atk-mp1”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“mkdir my-tfa/回车”,在“/linux/atk-mp1/”目录下创建“my-tfa”目录,用来保存“ST官方的TF-A源码”

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd tf-a/回车”,切换到“tf-a”目录下;

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cp * /home/zgq/linux/atk-mp1/my-tfa/ -rf回车”,拷贝到“my-tfa”目录中,用来保存“ST官方的TF-A源码”

输入“cd ..回车”,返回至上层目录,到达“atk-mp1”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd my-tfa回车”,切换到“my-tfa”目录 

输入“ls -l回车

Linux第25步_在虚拟机中备份“ST官方的TF-A源码”,产品研发,linux,STM32MP157,ubuntu,vscode,TF-A,经验分享至此,在虚拟机中,备份“ST官方的TF-A源码”完成。 

注意:

目前,“my-tfa”目录和“tf-a”目录里的内容完全相同,用来备份“ST官方的TF-A源码”。

将来“tf-a”目录里的内容需要被用来修改,用作自己的tf-a文章来源地址https://www.toymoban.com/news/detail-795194.html

到了这里,关于Linux第25步_在虚拟机中备份“ST官方的TF-A源码”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563)

    安全之安全(security²)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-3 (CVE-2017-7563) 二、CVE-2017-7563 Title RO内存始终在AArch64 Secure EL1下可执行 CVE ID CVE-2017-7563 Date 06 Apr

    2024年02月10日
    浏览(38)
  • ATF(TF-A)安全通告 TFV-8 (CVE-2018-19440)

    安全之安全(security²)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-8 (CVE-2018-19440) 二、CVE-2018-19440

    2024年02月12日
    浏览(52)
  • ​ATF(TF-A)安全通告 TFV-7 (CVE-2018-3639)​

    安全之安全(security²)博客目录导读  ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-7 (CVE-2018-3639) 二、静态缓解(Static mitigation) 三、动态缓解(Dynamic mitigation)

    2024年02月13日
    浏览(39)
  • ATF(TF-A)安全通告 TFV-1 (CVE-2016-10319)

    安全之安全(security²)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-1 (CVE-2016-10319) 二、CVE-2016-10319 Title 错误的固件更新SMC可能导致意外的大数据拷贝到安全内存中 CVE ID CVE-2016-10319 Date

    2024年02月10日
    浏览(39)
  • ATF(TF-A)安全通告 TFV-10 (CVE-2022-47630)

    安全之安全(security²)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-10 (CVE-2022-47630) 二、CVE-2022-47630 2.1 Bug 1:证书校验不足 2.2 Bug 2:auth_nvctr()中缺少边界检查

    2024年02月10日
    浏览(34)
  • ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564)

    安全之安全(security²)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-2 (CVE-2017-7564) 二、 CVE-2017-7564 Title

    2024年02月11日
    浏览(41)
  • ATF(TF-A) SPMC威胁模型-安全检测与评估

    安全之安全(security²)博客目录导读 ATF(TF-A) 威胁模型汇总 目录 一、简介 二、评估目标 1、数据流图

    2024年02月07日
    浏览(41)
  • ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031)

    安全之安全(security²)博客目录导读 ATF(TF-A)安全通告汇总 目录 一、ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031) 二、CVE-2017-15031 Title 未初始化或保存

    2024年02月12日
    浏览(40)
  • Linux虚拟机中增加永久路由

    一、使用route命令添加 使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法: A、添加到主机的路由 # route add –host 192.168.1.10 dev eth0 # route add –host 192.168.1.10 gw 192.168.1.1 B、添加到网络的路由 # route add –net 192.168.1.0  netmask 255.255.255.0 eth0 # route add –net 192

    2024年02月05日
    浏览(31)
  • ATF(TF-A) fvp_r 平台威胁模型-安全检测与评估

    安全之安全(security²)博客目录导读 ATF(TF-A) 威胁模型汇总 目录 一、简介 二、评估目标 1、只支持BL1

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包