我是Embedded领域的新手.关于hex文件下载,我想到了一个疑问:链接器和定位器的输出是一个二进制文件,有各种各样的部分,如.text,.bss,.data等,而.text驻留在Flash中,.bss转到RAM, .data进入RAM ...所以我的问题是
提前致谢.请帮忙.
我对由于加电而重置有疑问:
据我所知,微控制器通过硬连线在上电时从某个特定的存储位置(例如 0000H)开始。在0000h处,是否编写中断服务程序进行复位(堆栈指针和程序计数器等的初始化)或复位地址位于0000h(例如7000),以便微控制器跳转到7000地址并写入堆栈和PC的初始化。
这个复位服务程序是谁写的?微控制器芯片制造商(Intel 或 microchip 等)或任何程序员都可以更改此复位服务例程(例如,程序员在上电复位时将 PC 从 7000h 更改为 4000h,导致第一条指令从 4000 获取,而不是7000)。
当上电时,堆栈指针和程序计数器如何初始化为各自的初始地址,微控制器不处于将地址放入堆栈指针和程序计数器寄存器的状态(直到复位服务程序才进行初始化)。
考虑到所有可能性,重置服务例程中应该采取哪些步骤?
我正在使用uclinux移植冷冻板M5272C3.现在我的内核从RAM运行,romfs作为我的rootfile系统.我不清楚他们的意思和使用时间.
请以最简单的方式解释我:
Q1:什么是initrd?为什么我们需要那个?
Q2:什么是ramdisk?为什么以及我们需要这个?
Q3:什么是initramfs?我们为什么以及在哪里使用它?
Q4:什么是ramfs?我们为什么以及在哪里使用它?
有关这些术语的深入了解,请参阅文档/参考书....
谢谢Phogat