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

网站开发毕设论文网络销售怎么学

网站开发毕设论文,网络销售怎么学,知乎 上海做网站的公司,个人做搜索网站违法吗bl31.ld.S分析 通过链接脚本 bl31.ld.S,可得知整个镜像的内存布局: 镜像起始运行地址- BL31_BASE;镜像入口函数-bl31_entrypoint(); 前言 芯片所有的软硬件资源都能够在 NXP 官网找到,本文档也是对 NXP 开源 LSDK …

bl31.ld.S分析

通过链接脚本 bl31.ld.S,可得知整个镜像的内存布局:

  • 镜像起始运行地址- BL31_BASE
  • 镜像入口函数-bl31_entrypoint()

前言

芯片所有的软硬件资源都能够在 NXP 官网找到,本文档也是对 NXP 开源 LSDK 代码工程的学习与分析。
官网链接如下:
LSDK 软件资料
LX2160 芯片资料

1.链接脚本生成流程

通读 atf 工程 makefile 框架后得知,链接脚本通过 MAKE_BL 宏函数生成,简化后如下:

define MAKE_BL# 省略$(eval DEFAULT_LINKER_SCRIPT_SOURCE := $($(call uppercase,$(1))_DEFAULT_LINKER_SCRIPT_SOURCE))$(eval DEFAULT_LINKER_SCRIPT := $(call linker_script_path,$(DEFAULT_LINKER_SCRIPT_SOURCE)))# BL2 与 BL31 只使用了默认链接脚本,下面的变量为自定义变量,指向自定义连接脚本$(eval LINKER_SCRIPT_SOURCES := $($(call uppercase,$(1))_LINKER_SCRIPT_SOURCES))$(eval LINKER_SCRIPTS := $(call linker_script_path,$(LINKER_SCRIPT_SOURCES)))# 省略# Generate targets to preprocess each required linker script
# 生成链接脚本 ld 文件
$(eval $(foreach source,$(DEFAULT_LINKER_SCRIPT_SOURCE) $(LINKER_SCRIPT_SOURCES), \$(call MAKE_LD,$(call linker_script_path,$(source)),$(source),$(1))))# 省略endef

链接脚本通过下述命令生成:

$(eval $(call MAKE_LD,$(LINKERFILE),$(BL_LINKERFILE),$(1)))

其中:

  • $(1))_DEFAULT_LINKER_SCRIPT_SOURCEbl31/bl31.ld.S
  • 生成链接脚本文件为: release/bl31/bl31.ld. (bl2.ld 文件生成的代码同理)

2.bl31.ld 分析

bl31.ld 与 bl31.ld.S 的区别是使用了 gcc 编译器对一些宏进行扩展,让整个内存布局地址更明确, 通过生成的 bl31.ld, 我们可以更明确的知道地址分配,源码如下:

OUTPUT_FORMAT("elf64-littleaarch64")
OUTPUT_ARCH(aarch64)
ENTRY(bl31_entrypoint)
MEMORY {RAM (rwx): ORIGIN = (0x80000000 + 0x80000000 - ((64 * 1024 * 1024) + (2 * 1024 * 1024))), LENGTH = ((0x80000000 + 0x80000000 - ((64 * 1024 * 1024) + (2 * 1024 * 1024))) + (0x200000)) - (0x80000000 + 0x80000000 - ((64 * 1024 * 1024) + (2 * 1024 * 1024)))
}
SECTIONS {RAM_REGION_START = ORIGIN(RAM);RAM_REGION_LENGTH = LENGTH(RAM);. = (0x80000000 + 0x80000000 - ((64 * 1024 * 1024) + (2 * 1024 * 1024)));ASSERT(. == ALIGN(((1) << (12))),"BL31_BASE address is not aligned on a page boundary.")__BL31_START__ = .;.text . : {__TEXT_START__ = .;*bl31_entrypoint.o(.text*)*(SORT_BY_ALIGNMENT(SORT(.text*)))*(.vectors)__TEXT_END_UNALIGNED__ = .;. = ALIGN(((1) << (12)));__TEXT_END__ = .;} >RAM.rodata . : {__RODATA_START__ = .;*(SORT_BY_ALIGNMENT(.rodata*)). = ALIGN(8); __RT_SVC_DESCS_START__ = .; KEEP(*(.rt_svc_descs)) __RT_SVC_DESCS_END__ = .; . = ALIGN(8); __FCONF_POPULATOR_START__ = .; KEEP(*(.fconf_populator)) __FCONF_POPULATOR_END__ = .; . = ALIGN(8); __PMF_SVC_DESCS_START__ = .; KEEP(*(.pmf_svc_descs)) __PMF_SVC_DESCS_END__ = .; . = ALIGN(8); __PARSER_LIB_DESCS_START__ = .; KEEP(*(.img_parser_lib_descs)) __PARSER_LIB_DESCS_END__ = .; . = ALIGN(8); __CPU_OPS_START__ = .; KEEP(*(.cpu_ops)) __CPU_OPS_END__ = .; . = ALIGN(8); __GOT_START__ = .; *(.got) __GOT_END__ = .;. = ALIGN(8);
__pubsub_psci_cpu_on_finish_start = .; KEEP(*(.__pubsub_psci_cpu_on_finish)); __pubsub_psci_cpu_on_finish_end = .;
__pubsub_psci_suspend_pwrdown_start_start = .; KEEP(*(.__pubsub_psci_suspend_pwrdown_start)); __pubsub_psci_suspend_pwrdown_start_end = .;
__pubsub_psci_suspend_pwrdown_finish_start = .; KEEP(*(.__pubsub_psci_suspend_pwrdown_finish)); __pubsub_psci_suspend_pwrdown_finish_end = .;
__pubsub_cm_entering_secure_world_start = .; KEEP(*(.__pubsub_cm_entering_secure_world)); __pubsub_cm_entering_secure_world_end = .;
__pubsub_cm_exited_secure_world_start = .; KEEP(*(.__pubsub_cm_exited_secure_world)); __pubsub_cm_exited_secure_world_end = .;
__pubsub_cm_entering_normal_world_start = .; KEEP(*(.__pubsub_cm_entering_normal_world)); __pubsub_cm_entering_normal_world_end = .;
__pubsub_cm_exited_normal_world_start = .; KEEP(*(.__pubsub_cm_exited_normal_world)); __pubsub_cm_exited_normal_world_end = .;__RODATA_END_UNALIGNED__ = .;. = ALIGN(((1) << (12)));__RODATA_END__ = .;} >RAMASSERT(__CPU_OPS_END__ > __CPU_OPS_START__,"cpu_ops not defined for this platform.")__RW_START__ = . ;.data . : ALIGN(1) { __DATA_START__ = .; *(SORT_BY_ALIGNMENT(.data*)) __DATA_END__ = .; } >RAM.rela.dyn : ALIGN(8) { __RELA_START__ = .; *(.rela*) __RELA_END__ = .; } >RAM.stacks (NOLOAD) : { __STACKS_START__ = .; *(.tzfw_normal_stacks) __STACKS_END__ = .; } >RAM.bss (NOLOAD) : ALIGN(16) { __BSS_START__ = .; *(SORT_BY_ALIGNMENT(.bss*)) *(COMMON) . = ALIGN(64); __BAKERY_LOCK_START__ = .; __PERCPU_BAKERY_LOCK_START__ = .; *(.bakery_lock) . = ALIGN(64); __PERCPU_BAKERY_LOCK_END__ = .; __PERCPU_BAKERY_LOCK_SIZE__ = ABSOLUTE(__PERCPU_BAKERY_LOCK_END__ - __PERCPU_BAKERY_LOCK_START__); . = . + (__PERCPU_BAKERY_LOCK_SIZE__ * (8 * 2 - 1)); __BAKERY_LOCK_END__ = .; ASSERT((__PERCPU_BAKERY_LOCK_SIZE__ == 0) || (__PERCPU_BAKERY_LOCK_SIZE__ == (1 * 64)), "PLAT_PERCPU_BAKERY_LOCK_SIZE does not match bakery lock requirements"); . = ALIGN(64); __PMF_TIMESTAMP_START__ = .; KEEP(*(.pmf_timestamp_array)) . = ALIGN(64); __PMF_PERCPU_TIMESTAMP_END__ = .; __PERCPU_TIMESTAMP_SIZE__ = ABSOLUTE(. - __PMF_TIMESTAMP_START__); . = . + (__PERCPU_TIMESTAMP_SIZE__ * (8 * 2 - 1)); __PMF_TIMESTAMP_END__ = .; . = ALIGN(16); __BASE_XLAT_TABLE_START__ = .; *(.base_xlat_table) __BASE_XLAT_TABLE_END__ = .; __BSS_END__ = .; } >RAM.xlat_table (NOLOAD) : { __XLAT_TABLE_START__ = .; *(.xlat_table) __XLAT_TABLE_END__ = .; } >RAM__RW_END__ = .;__BL31_END__ = .;ASSERT(. <= ((0x80000000 + 0x80000000 - ((64 * 1024 * 1024) + (2 * 1024 * 1024))) + (0x200000)), "BL31 image has exceeded its limit.")RAM_REGION_END = .;/DISCARD/ : {*(.dynsym .dynstr .hash .gnu.hash)}
}

编译过程中,会生成bl31.map 文件,结合 map 文件,可以更明确的知道段分配,每一个段内的成员地址,链接脚本定义的段变量地址。
生成的链接脚本请自行阅读。

http://www.dtcms.com/wzjs/124034.html

相关文章:

  • 做电容元器件的网站有哪些免费域名申请网站大全
  • 4g网络架构临沂seo代理商
  • 网站点击率查询电商培训机构排名前十
  • 企业形象网站怎么做游戏代理平台一天结一次
  • 红孩子母婴网站开发背景广告传媒公司
  • 男科医院收费一览表随州seo
  • 职友集 一家做职业点评的网站网络推广可做哪些方面
  • 设计网站 behance哪些网站可以发广告
  • 义乌北苑编程网站开发公司商品营销推广的方法有哪些
  • 广东网站建设找哪家想学管理方面的培训班
  • 徐州泉山区建设局网站汕头seo计费管理
  • 做网站的支付写软文一篇多少钱合适
  • vi设计策划公司seo外包多少钱
  • 深圳设计网站排行百度网盘人工申诉电话
  • 做窗帘店的网站制作网站的平台
  • 甘肃找人做网站多少钱代写软文费用全网天下实惠
  • 律师做网站费用关键词数据分析工具有哪些
  • 泰州做直销会员结算管理网站自制网站教程
  • 连江网站建设成功营销案例分享
  • 网站手机版建设aso优化贴吧
  • 陕西省建设网页企业信息电商关键词seo排名
  • 手机营销网站建设百度快照推广一年要多少钱
  • 深圳保障性住房有哪些神马搜索seo优化排名
  • 金融网站如何做设计搜索引擎优化包括哪些
  • 怎样做58网站巨量算数数据分析入口
  • 外贸网站 seo厦门站长优化工具
  • 网站建设的目的及功能定位今日国际新闻事件
  • java web做网站的优势淘宝关键词搜索量查询
  • 在网站做直播国内新闻热点事件
  • 美国做爰直播网站外包公司有哪些