塑胶东莞网站建设技术支持有域名有网站怎么解决办法

张小明 2025/12/30 20:38:15
塑胶东莞网站建设技术支持,有域名有网站怎么解决办法,网站推广论坛,windows7做网站RK3588 U-Boot到Linux内核参数传递机制详解 目录 概述 参数传递方式总览 设备树(FDT)传递机制 Rockchip ATAGS传递机制 bootm命令执行流程 RK3588平台特定实现 参数传递完整流程图 概述 在RK3588平台上,U-Boot向Linux内核传递参数是系统启动过程中的关键环节。RK3588作为ARM…RK3588 U-Boot到Linux内核参数传递机制详解目录概述参数传递方式总览设备树(FDT)传递机制Rockchip ATAGS传递机制bootm命令执行流程RK3588平台特定实现参数传递完整流程图概述在RK3588平台上,U-Boot向Linux内核传递参数是系统启动过程中的关键环节。RK3588作为ARM64架构的SoC,主要使用设备树(Flattened Device Tree, FDT)作为参数传递方式,同时Rockchip自定义了一套ATAGS机制用于内部bootloader阶段间的参数传递。关键源文件位置功能模块主要源文件bootm命令核心common/bootm.cARM架构特定arch/arm/lib/bootm.cFDT处理common/image-fdt.cFDT支持函数common/fdt_support.cRockchip ATAGSarch/arm/mach-rockchip/rk_atags.cRK3588平台arch/arm/mach-rockchip/rk3588/rk3588.c参数解析arch/arm/mach-rockchip/param.c参数传递方式总览1. 主要参数传递方式┌─────────────────────────────────────────────────────────────────┐ │ U-Boot 参数传递架构 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ Rockchip │ │ 标准ARM64 │ │ │ │ ATAGS机制 │ │ FDT机制 │ │ │ │ (内部使用) │ │ (传给内核) │ │ │ └──────┬───────┘ └──────┬───────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌─────────────────────────────────────────┐ │ │ │ 参数数据结构 │ │ │ │ - DDR内存信息 │ │ │ │ - ATF/OPTEE内存区域 │ │ │ │ - 启动设备信息 │ │ │ │ - 串口配置 │ │ │ │ - 固件版本信息 │ │ │ └─────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘2. ATAGS vs FDT对比特性Rockchip ATAGS设备树(FDT)用途Rockchip内部bootloader间通信向Linux内核传递硬件配置位置DDR基地址 + 2M - 8K内核指定的内存地址大小最大8KB可扩展,受限于内存标准Rockchip私有标准ARM官方标准数据格式Tag列表结构扁平化二进制树结构内核识别不直接识别完全支持设备树(FDT)传递机制1. FDT在bootm命令中的处理流程// common/bootm.cintdo_bootm_states(cmd_tbl_t*cmdtp,intflag,intargc,char*constargv[],intstates,bootm_headers_t*images,intboot_progress){// 状态机处理bootm的各个阶段if(statesBOOTM_STATE_START)ret=bootm_start(cmdtp,flag,argc,argv);if(!ret(statesBOOTM_STATE_FINDOS))ret=bootm_find_os(cmdtp,flag,argc,argv);if(!ret(statesBOOTM_STATE_FINDOTHER))ret=bootm_find_other(cmdtp,flag,argc,argv);// ... 其他状态处理}2. FDT的获取与加载// common/image-fdt.cintboot_get_fdt(intflag,intargc,char*constargv[],uint8_tarch,bootm_headers_t*images,char**of_flat_tree,ulong*of_size){// 从多个来源获取FDT:// 1. FIT镜像中的fdt节点// 2. 独立的dtb文件// 3. Legacy多组件镜像中的fdt部分switch(genimg_get_format(buf)){caseIMAGE_FORMAT_FIT:// FIT格式处理if(fit_check_format(buf)){fdt_noffset=boot_get_fdt_fit(images,fdt_addr,fit_uname_fdt,fit_uname_config,arch,load,len);}break;// ... 其他格式}}3. FDT的重定位// common/image-fdt.cintboot_relocate_fdt(structlmb*lmb,char**of_flat_tree,ulong*of_size){void*fdt_blob=*of_flat_tree;void*of_start=NULL;char*fdt_high;ulong of_len=0;// 考虑fdt_high环境变量fdt_high=env_get("fdt_high");if(fdt_high){void*desired_addr=(void*)simple_strtoul(fdt_high,NULL,16);if(((ulong)desired_addr)==~0UL){/* 0xFFFFFFFF表示使用原地fdt,不重定位 */of_start=fdt_blob;}elseif(desired_addr){/* 使用指定地址 */of_start=(void*)(ulong)lmb_alloc_base(lmb,of_len,0x1000,(ulong)desired_addr);}}// 使用fdt_open_into进行重定位err=fdt_open_into(fdt_blob,of_start,of_len);*of_flat_tree=of_start;*of_size=of_len;return0;}4. FDT的内容修复(fdt_fixup)// common/fdt_support.cintfdt_chosen(void*fdt){intnodeoffset;/* 查找或创建/chosen节点 */nodeoffset=fdt_find_or_add_subnode(fdt,0,"chosen");/* 设置bootargs */str=board_fdt_chosen_bootargs(fdt);if(str){err=fdt_setprop(fdt,nodeoffset,"bootargs",str,strlen(str)+1);}/* 设置stdout路径 */returnfdt_fixup_stdout(fdt,nodeoffset);}intfdt_initrd(void*fdt,ulong initrd_start,ulong initrd_end){intnodeoffset;/* 找到/chosen节点 */nodeoffset=fdt_find_or_add_subnode(fdt,0,"chosen");/* 添加内存保留区域 */fdt_add_mem_rsv(fdt,initrd_start,initrd_end-initrd_start);/* 设置initrd起始和结束地址 */is_u64=(fdt_address_cells(fdt,0)==2);fdt_setprop_uxx(fdt,nodeoffset,"linux,initrd-start",(uint64_t)initrd_start,is_u64);fdt_setprop_uxx(fdt,nodeoffset,"linux,initrd-end",(uint64_t)initrd_end,is_u64);return0;}5. ARM64架构的内核跳转// arch/arm/lib/bootm.cstaticvoidboot_jump_linux(bootm_headers_t*images,intflag){#ifdefCONFIG_ARM64void(*kernel_entry)(void
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站分页怎么做wordpress包下载失败

如何用daily-check-in打卡小程序快速养成好习惯:完整指南 【免费下载链接】daily-check-in 一个打卡小程序 - 基于 leancloud 数据存储 项目地址: https://gitcode.com/gh_mirrors/da/daily-check-in 在信息爆炸的时代,我们总是被各种目标淹没&a…

张小明 2025/12/30 20:37:39 网站建设

网站服务器环境不支持mysql数据库福州企业网站建设哪家好

一、 市场现状:机遇与选择困境并存 当前,人工智能技术正驱动新一轮产业变革,也深刻影响着就业市场。第三方调研数据显示,2023年人工智能相关岗位的求职竞争较为激烈。与此同时,超过半数的相关招聘启事会提及“具备AI基…

张小明 2025/12/30 20:37:03 网站建设

烟台网站备案实时排名软件

;cycle_asc_multiple_province_conbine.ncl ; 功能:用中国省级 shp 选出省格点,将省内的数据 *比例系数,其它所有区域保持与原始 ASC 完全相同;================= 1. 加载库 ================= load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl" load…

张小明 2025/12/30 20:35:52 网站建设

如何做赚钱的网站温州大型网站建设

2025主流视频会议软件综合评测:提升会议效率的利器在职场中,开会可能是许多人最不情愿面对的事情之一。低效、无聊、浪费时间……这些标签似乎成了会议的代名词。那么,如何才能让会议变得高效而富有成效呢?选择一款合适的视频会议…

张小明 2025/12/30 20:35:16 网站建设