小编Pho*_*ish的帖子

在Flash Memory中下载代码的过程

我是Embedded领域的新手.关于hex文件下载,我想到了一个疑问:链接器和定位器的输出是一个二进制文件,有各种各样的部分,如.text,.bss,.data等,而.text驻留在Flash中,.bss转到RAM, .data进入RAM ...所以我的问题是

  1. 如何将.bss和.data写入RAM,因为我正在使用FLASH Loader将程序刻录到闪存上.
  2. 在最终二进制文件中是否有任何索引类型的东西区分.text和.bss段.
  3. 链接器/定位器中是否有任何实用程序将我们的简单二进制文件转换为十六进制格式.
  4. 如何从hex文件的内容中区分.text和.bss?

提前致谢.请帮忙.

embedded

6
推荐指数
3
解决办法
1180
查看次数

复位时嵌入式系统会发生什么?

我对由于加电而重置有疑问:

  1. 据我所知,微控制器通过硬连线在上电时从某个特定的存储位置(例如 0000H)开始。在0000h处,是否编写中断服务程序进行复位(堆栈指针和程序计数器等的初始化)或复位地址位于0000h(例如7000),以便微控制器跳转到7000地址并写入堆栈和PC的初始化。

  2. 这个复位服务程序是谁写的?微控制器芯片制造商(Intel 或 microchip 等)或任何程序员都可以更改此复位服务例程(例如,程序员在上电复位时将 PC 从 7000h 更改为 4000h,导致第一条指令从 4000 获取,而不是7000)。

  3. 当上电时,堆栈指针和程序计数器如何初始化为各自的初始地址,微控制器不处于将地址放入堆栈指针和程序计数器寄存器的状态(直到复位服务程序才进行初始化)。

  4. 考虑到所有可能性,重置服务例程中应该采取哪些步骤?

embedded startup reset

4
推荐指数
1
解决办法
1万
查看次数

Initrd,Ramdisk,Initramfs,uclinux

我正在使用uclinux移植冷冻板M5272C3.现在我的内核从RAM运行,romfs作为我的rootfile系统.我不清楚他们的意思和使用时间.

请以最简单的方式解释我:

Q1:什么是initrd?为什么我们需要那个?

Q2:什么是ramdisk?为什么以及我们需要这个?

Q3:什么是initramfs?我们为什么以及在哪里使用它?

Q4:什么是ramfs?我们为什么以及在哪里使用它?

有关这些术语的深入了解,请参阅文档/参考书....

谢谢Phogat

embedded uclinux embedded-linux u-boot

3
推荐指数
1
解决办法
3304
查看次数

标签 统计

embedded ×3

embedded-linux ×1

reset ×1

startup ×1

u-boot ×1

uclinux ×1