当前位置: 首页 > news >正文

专业的网站开发建设哈尔滨seo搜索优化

专业的网站开发建设,哈尔滨seo搜索优化,建一个外贸网站要多少钱,上海网站建站建设服务目录 一、TF-A概述 二、编译官方代码 2.1 解压源码 2.2 打补丁 2.3 编译准备 #xff08;1#xff09;修改Makfile.sdk #xff08;2#xff09;设置环境变量 #xff08;3#xff09;编译 三、移植 3.1 复制官方文件 3.2 修改电源 3.3 修改TF卡和emmc 3.4 添…目录 一、TF-A概述 二、编译官方代码 2.1 解压源码 2.2 打补丁 2.3 编译准备 1修改Makfile.sdk 2设置环境变量 3编译 三、移植 3.1 复制官方文件 3.2 修改电源 3.3 修改TF卡和emmc 3.4 添加clk_hse 3.5 删除其他串口 3.6 修改引脚 四、编译 一、TF-A概述 总而言之和安全相关篇幅受限不做详细介绍可以参考其他博主的帖子本帖只做移植教程 二、编译官方代码 2.1 解压源码 这里面有一个压缩包把它解压可以得到源码根据版本不同不要照搬只要能解压出来就行 tar xf tf-a-stm32mp-v2.8.6-stm32mp-r1-r0.tar.xz 特别注意有一个README.HOW_TO.txt这是官方写给我们的使用文档完全可以按照里面的方法去编译 2.2 打补丁 官方的源码还是不能编译的要先打补丁 先进入到源码目录就是上一步解压出来的文件夹 cd tf-a-stm32mp-v2.8.6-stm32mp-r1-r0.tar.xz for p in ls -1 ../*.patch; do patch -p1 $p; done 2.3 编译准备 1修改Makfile.sdk 编译源码不使用源码目录下的Makefile使用上一级目录的Makefile.sdk先对他进行修改。 DEPLOYDIR ? $(SRC_PATH)/../../FIP_artifacts/arm-trusted-firmware Makefile.sdk第4行把DEPLOYDIR目录指向FIP_artifacts下的arm-trusted-firmware这样编译出来的文件会直接输出到arm-trusted-firmware文件夹方便后面fiptool打包 TF_A_DEVICETREE ? stm32mp135f-dk Makefile.sdk第19行把其他设备树都给删了只留下135的板子之后添加自己板子的时候也要在这里添加 2设置环境变量 打开一个终端之后就不要关闭它了 终端要在源码目录下打开源码 source /opt/st/stm32mp1/4.2.1-openstlinux-6.1-yocto-mickledore-mp1-v23.06.21/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabiexport FIP_DEPLOYDIR_ROOT$PWD/../../FIP_artifactssource是要用arm-ostl-linux-gnueabi这个交叉编译器 export是设置FIP的目录绝对路径或者相对路径都可以可能写到Makefile.sdk里也可以可以写一个sh脚本不用每次都加载这个环境。 注意笔者交叉编译器安装路径直接默认了大家安装的时候记得路径记一下 3编译 make -f ../Makefile.sdk all 最后提示 Missing u-boot-stm32mp135f-dk.dtb file in folder: $FIP_DEPLOYDIR_UBOOT or $FIP_DEPLOYDIR_ROOT/u-boot 没有关系别在意这个这是因为Makefile.sdk里自动调用fiptool给我们打包了但是现在又还没有编译u-boot和optee所以会报这个 最后会在FIP_artifacts/arm-trusted-fimware里生成如下 1.        tf-a-stm32mp135f-dk-emmc.stm32 2.        tf-a-stm32mp135f-dk-usb.stm32 3.        tf-a-stm32mp135f-dk-uart.stm32 4.        ...(这几个都是.stm32文件不列了 n.        metadata.bin n1.        fwconfig/stm32mp135f-dk-fw-config-optee.dtb 三、移植 修改头文件引用 #include stm32mp13-pinctrl-atk.dtsi 3.1 复制官方文件 cd fdts/ cp stm32mp135f-dk.dts stm32mp135-atk.dts cp stm32mp13-pinctrl.dtsi stm32mp13-pinctrl-atk.dtsi cp stm32mp135f-dk-fw-config.dts stm32mp135-atk-fw-config.dts cd .. 3.2 修改电源 最重要的部分就是修改电源配置ST官方使用的是电源管理芯片而正点原子考虑成本因素使用分立电源的设计。 打开stm32mp135-atk.dts文件第67行开始的代码这一部分的代码全部删了是ST官方关于电源的描述 i2c4 {pinctrl-names default;pinctrl-0 i2c4_pins_a;i2c-scl-rising-time-ns 185;i2c-scl-falling-time-ns 20;clock-frequency 400000;status okay;pmic: stpmic33 {compatible st,stpmic1;reg 0x33;status okay;regulators {compatible st,stpmic1-regulators;buck1-supply vin;buck2-supply vin;buck3-supply vin;buck4-supply vin;ldo1-supply vin;ldo4-supply vin;ldo5-supply vin;ldo6-supply vin;vref_ddr-supply vin;pwr_sw1-supply bst_out;pwr_sw2-supply v3v3_ao;vddcpu: buck1 {regulator-name vddcpu;regulator-min-microvolt 1250000;regulator-max-microvolt 1250000;regulator-always-on;regulator-over-current-protection;};vdd_ddr: buck2 {regulator-name vdd_ddr;regulator-min-microvolt 1350000;regulator-max-microvolt 1350000;regulator-always-on;regulator-over-current-protection;};vdd: buck3 {regulator-name vdd;regulator-min-microvolt 3300000;regulator-max-microvolt 3300000;regulator-always-on;st,mask-reset;regulator-over-current-protection;};vddcore: buck4 {regulator-name vddcore;regulator-min-microvolt 1250000;regulator-max-microvolt 1250000;regulator-always-on;regulator-over-current-protection;};vdd_adc: ldo1 {regulator-name vdd_adc;regulator-min-microvolt 3300000;regulator-max-microvolt 3300000;};vdd_usb: ldo4 {regulator-name vdd_usb;regulator-min-microvolt 3300000;regulator-max-microvolt 3300000;};vdd_sd: ldo5 {regulator-name vdd_sd;regulator-min-microvolt 3300000;regulator-max-microvolt 3300000;regulator-boot-on;};v1v8_periph: ldo6 {regulator-name v1v8_periph;regulator-min-microvolt 1800000;regulator-max-microvolt 1800000;};vref_ddr: vref_ddr {regulator-name vref_ddr;regulator-always-on;};bst_out: boost {regulator-name bst_out;};v3v3_sw: pwr_sw2 {regulator-name v3v3_sw;regulator-active-discharge 1;regulator-always-on;};};}; }; 然后在第49行代码之后补上我们对电源的描述↓↓ vddcore: regulator-vddcore {compatible regulator-fixed;regulator-name vddcore;regulator-min-microvolt 1250000;regulator-max-microvolt 1250000;regulator-off-in-suspend;regulator-always-on;};vddcpu: regulator-vddcpu {compatible regulator-fixed;regulator-name vddcpu;regulator-min-microvolt 1350000;regulator-max-microvolt 1350000;regulator-off-in-suspend;regulator-always-on;};v3v3: regulator-v3v3 {compatible regulator-fixed;regulator-name v3v3;regulator-min-microvolt 3300000;regulator-max-microvolt 3300000;regulator-off-in-suspend;regulator-always-on;};vdd: regulator-vdd {compatible regulator-fixed;regulator-name vdd;regulator-min-microvolt 3300000;regulator-max-microvolt 3300000;regulator-off-in-suspend;regulator-always-on;};vdd_usb: regulator-vdd-usb {compatible regulator-fixed;regulator-name vdd_usb;regulator-min-microvolt 3300000;regulator-max-microvolt 3300000;regulator-off-in-suspend;regulator-always-on;}; 这里有一个天坑天真的我以为改了设备树就好了如果就这么改压根跑不起来烧录的时候卡死在第一步 找了全网只找到一个帖子提到了我们添加了电源描述之后还要去一个文件里修改电源描述的数量。 在plat\st\stm32mp1下的stm32mp1_def.h里第695行有一个 #define PLAT_NB_FIXED_REGUS U(6) /* 把它改成电源描述数量1 */ 3.3 修改TF卡和emmc 找到sdmmc1这个节点就在stm32mp135-atk.dts下删掉它替换成我们的 sdmmc1 {pinctrl-names default;pinctrl-0 sdmmc1_b4_pins_a sdmmc1_clk_pins_a;disable-wp;st,neg-edge;no-1-8-v;bus-width 4;vmmc-supply v3v3;status okay; };sdmmc2 {pinctrl-names default;pinctrl-0 sdmmc2_b4_pins_a sdmmc2_b4_b7_pins_a sdmmc2_clk_pins_a;non-removable;st,neg-edge;mmc-ddr-3_3v;no-1-8-v;bus-width 8;vmmc-supply v3v3;vqmmc-supply v3v3;status okay; }; 3.4 添加clk_hse 在末尾添加一个节点 clk_hse {st,digbypass; }; 3.5 删除其他串口 ST官方板子有uart1和uart8我们把它删掉只留下uart4 aliases {serial0 uart4;serial1 usart1;// serial2 uart8;// serial3 usart2;}; uart8 {pinctrl-names default;pinctrl-0 uart8_pins_a;status disabled; };usart1 {pinctrl-names default;pinctrl-0 usart1_pins_a;uart-has-rtscts;status disabled; }; 然后打开stm32mp13-bl2.dtsi文件我们把对应删了的引脚也给删掉 // /omit-if-no-ref/ i2c4_pins_a; /omit-if-no-ref/ sdmmc1_b4_pins_a; /omit-if-no-ref/ sdmmc1_clk_pins_a; /omit-if-no-ref/ sdmmc2_b4_pins_a; /omit-if-no-ref/ sdmmc2_clk_pins_a; /omit-if-no-ref/ uart4_pins_a; // /omit-if-no-ref/ uart8_pins_a; // /omit-if-no-ref/ usart1_pins_a; 3.6 修改引脚 切换到stm32mp13-pinctrl-atk.dtsi文件这里为了方便直接复制了原子的文件也可以对照着修改笔者直接用原子的文件替换掉了代码如下 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) /** Copyright (C) STMicroelectronics 2019 - All Rights Reserved* Author: Alexandre Torgue alexandre.torguest.com*/ #include dt-bindings/pinctrl/stm32-pinfunc.hpinctrl {sdmmc1_b4_pins_a: sdmmc1-b4-0 {pins {pinmux STM32_PINMUX(C, 8, AF12), /* SDMMC1_D0 */STM32_PINMUX(C, 9, AF12), /* SDMMC1_D1 */STM32_PINMUX(C, 10, AF12), /* SDMMC1_D2 */STM32_PINMUX(C, 11, AF12), /* SDMMC1_D3 */STM32_PINMUX(D, 2, AF12); /* SDMMC1_CMD */slew-rate 1;drive-push-pull;bias-disable;};};sdmmc1_clk_pins_a: sdmmc1-clk-0 {pins {pinmux STM32_PINMUX(C, 12, AF12); /* SDMMC1_CK */slew-rate 1;drive-push-pull;bias-disable;};};sdmmc2_b4_pins_a: sdmmc2-b4-0 {pins {pinmux STM32_PINMUX(B, 14, AF10), /* SDMMC2_D0 */STM32_PINMUX(B, 15, AF10), /* SDMMC2_D1 */STM32_PINMUX(B, 3, AF10), /* SDMMC2_D2 */STM32_PINMUX(B, 4, AF10), /* SDMMC2_D3 */STM32_PINMUX(G, 6, AF10); /* SDMMC2_CMD */slew-rate 1;drive-push-pull;bias-pull-up;};};sdmmc2_b4_b7_pins_a: sdmmc2-b4-b7-0 {pins {pinmux STM32_PINMUX(F, 0, AF10), /* SDMMC2_D4 */STM32_PINMUX(B, 9, AF10), /* SDMMC2_D5 */STM32_PINMUX(C, 6, AF10), /* SDMMC2_D6 */ STM32_PINMUX(C, 7, AF10); /* SDMMC2_D7 */slew-rate 1;drive-push-pull;bias-pull-up;};};sdmmc2_clk_pins_a: sdmmc2-clk-0 {pins {pinmux STM32_PINMUX(E, 3, AF10); /* SDMMC2_CK */slew-rate 1;drive-push-pull;bias-pull-up;};};uart4_pins_a: uart4-0 {pins1 {pinmux STM32_PINMUX(D, 6, AF8); /* UART4_TX */bias-disable;drive-push-pull;slew-rate 0;};pins2 {pinmux STM32_PINMUX(D, 8, AF8); /* UART4_RX */bias-pull-up;};}; };四、编译 先去Makefile.sdk里面把设备树修改成我们的板子 还记得刚才打开没关闭的终端吗如果关了那就要重新设置环境变量了哦回到2.3节的第二步重新把环境变量设置好然后编译 make -f ../Makefile.sdk all 可以看到FIP_artifacts/arm_trusted_firmware文件夹里多了几个文件
http://www.yutouwan.com/news/381352/

相关文章:

  • 网站制作教程下载免费那个网站
  • 电商网站 技术搭建 wordpress 简书
  • 中铁建设投资集团有限公司招聘网站百度爱采购竞价推广
  • 嘉兴响应式网站云南机场建设集团网站
  • 做sgs认证的公司网站直播是网站怎么做
  • 湖北网站开发培训千锋培训机构官网
  • 网站开发课题开发背景主流建站开源程序有哪些
  • 如何将自己做的网站放到网上wordpress媒体库无法显示
  • 学校网站网页建设开题报告书网站建设需要具备的能力
  • 深圳网站制作要多少钱做网站公司多少钱
  • 页面设计制作网站源码莱西网站制作联赛与超
  • 网站宣传推广平台asp做的网站怎么运行
  • 个人网站备案 网站服务内容英文网站建设费用
  • 宁波本地网站排行意派h5制作平台
  • 配送网站开发景德镇网站制作公司
  • 找个美工做淘宝网站需要多少钱网站建设与运营课程
  • 手机网站横幅制作模板wordpress做分类信息网站
  • 商务网站建设流程步骤阿里云商业网站建设视频
  • 免费企业电话名录手机优化系统
  • 网站同时做竞价和seowordpress撤销更改
  • 租赁空间网站建设建设网站过程中
  • 推广型网站建设销售吉林省交通建设集团有限公司网站
  • 夏天做啥网站致富免费下载微信并安装
  • 网络营销发展的新趋势东莞百度推广优化
  • 怎样优化排名自己网站枣庄网站建设哪家公司好
  • 网站运营有前途吗wordpress 获取文章列表
  • 福州网站建设市场搜索引擎下载入口
  • 站内营销推广方案软件商店安装下载
  • 镇江网站建设介绍服务搜索引擎优化seo专员招聘
  • 网站建设个一般需要花费多少钱网站建设报表明细