LMA和VMA
来源:互联网 发布:美恰软件 编辑:程序博客网 时间:2024/05/22 02:30
如果是PC(windows/linux),通常LMA就是VMA, 作为shell的loader负责把程序载入正确的地址(VMA).
如果是嵌入式(没有系统或者非常简单的系统) 通常处于ROM部分的代码将负责搬运工作。 (通常是crt0的工作)
在一份参考pdf中给出了一个简单的搬运代码:
// The following are constructs created by the linker, indicating where the // "data" and "bss" segments reside in memory. The initializers for// the "data" segment resides immediately following the "text"// segment.void ResetISR(void){ unsigned long *src, *dst; // // Copy the data segment initializers from flash to SRAM. // src = &_etext; dst = &_data; while(dst<&_edata) *dst++=*src++; // // Zero fill the bss segment. // for(dst=&_bss;dst<&_ebss;dst++)*dst = 0; // // Call the application's entry point. // main();}
参考链接:
https://www.crifan.com/detailed_lma_load_memory_address_and_vma_virtual_memory_address/
https://www.embeddedrelated.com/showthread/comp.arch.embedded/77071-1.php
阅读全文
0 0
- LMA和VMA
- LMA和VMA
- VMA和LMA
- 转-LMA和VMA
- LMA和VMA
- VMA & LMA
- 为什么要有VMA和LMA两个地址?
- Linker Script,LMA,VMA
- Linker Script,LMA,VMA
- Linker Script,LMA,VMA
- LMA与VMA
- Linker Script,LMA,VMA
- VMA 与 LMA
- LMA与VMA总结
- ARM------Linker Script,LMA,VMA
- VMA与LMA区别详解
- Linux LMA AND VMA 浅析
- 虚拟内存地址VMA、装载内存地址LMA和位置无关代码PIC
- [转载]Ubuntu 16.04编译安装OpenCV(Python2 /python3)(使用虚拟环境)
- 快速删除所有空值:汪琪玩Excel第十四招
- Go Context包使用
- C#model类与XML转换类
- 使用python实现正整数的阶乘
- LMA和VMA
- 前端小白--CSS实现水平垂直居中
- FGSM(Fast Gradient Sign Method)生成对抗样本(32)---《深度学习》
- Vegas文字投影的模糊效果怎么制作?
- Unity响应Android的返回键,Home键
- Android bat批处理自动执行adb shell命令
- NFS开发环境搭建
- ELK=Elasticsearch+Logstash+kibana
- Ajax+asp.net无刷新验证用户名的几种方法