标题: [求助] 询问两个很基础的DSP硬件问题,请您帮忙! [打印本页]
作者: sushangen 时间: 2006-3-21 22:28 标题: [求助] 询问两个很基础的DSP硬件问题,请您帮忙!
我想问两个问题:
1.DSP上电或者Reset后为什么有个bootload的过程,相比之下单片机就没有这
个步骤——即把程序写入到单片机的EEPROM内就算“大功告成了”!
2.DSP不把外部FLASH内的程序“搬迁"到内部的SRAM是不是就不能执行,为什么?
3.DSP 2812内部有FLASH还用”搬迁“程序到SRAM中吗?
由于初学DSP和单片机比较起来很困惑,如果您知道就给予答复吧,不胜感激!!
作者: blueseahaichao 时间: 2006-3-21 23:44
Your concept is wrong, the bootloader is not just for DSP. Here is why:
Most computer systems can only execute code found in the memory (ROM or RAM); modern operating systems are mostly stored on hard disks, LiveCDs and USB flash drives. Just after a computer has been turned on, it doesn't have an operating system in memory. The computer's hardware alone cannot perform complicated actions of the operating system, such as loading a program from disk; so a seemingly irresolvable paradox is created: to load the operating system into memory, one appears to need to have an operating system already installed.
The solution to the paradox involves using a special small program, called a bootstrap loader or boot loader. This program doesn't have the full functionality of an operating system, but is tailor-made to load enough other software for the operating system to start. Often, multiple-stage boot loaders are used, in which several small programs summon each other, until the last of them loads the operating system. The name bootstrap loader comes from the image of one pulling oneself up by one's bootstraps (see bootstrapping).
作者: sushangen 时间: 2006-3-22 22:22
谢谢版主,真的感谢您的做答!!
你的做答为两个方面:
1.并非只有DSP需要boot,如微机启动过程也是需要boot的!
2.还说出了微机为什么需要操作系统以及起启动(boot)的过程。
但我仍然不明白的问题是:
1.单片机初始化启动过程为什么不需要boot呢?它是直接从ROM(EEROM/FLASH)中取指令执行的。
2.如果DSP用外部扩展的程序存储器,它如果不把外部FLASH内的程序“搬迁"到内部的SRAM是不是就不能执行,为什么?
3.DSP2812内部有FLASH,它还用的着”搬迁“程序到SRAM中吗?
能不能再给我点提示?谢谢!
作者: BlueSeaHaiChao 时间: 2006-3-23 04:52
看来你对BOOTLOADER的作用还不清楚。这里我转摘一段中文论述帮助你理解:
----------------
前阶段做了一次基于ARTMEL at91rm9200引导部分的技术分析,虽主要面向使用at91rm9200板子的的朋友做个简单的推敲,希望起到抛砖引玉的作用。
这里要提及的是at91rm9200内部本身有128k的片内rom,其固化了一个bootloader和uploader, 用来支持程序的下载和引导。BootLoader(引导装载程序)是嵌入式系统软件开发的非常重要的环节,它把操作系统和硬件平台衔接在一起,是跟硬件体系密切相关的。
典型的嵌入式系统软件部分Image memory layout : bootloader , bootloader param, kernel, rootfs
总之, 不同厂商的出的Soc片子在启动方式大都提供片内和片外启动两种方式,一般都是在片内固化一段小程序方便于程序开发而已。
作者: linuxarm 时间: 2006-3-25 10:32
bootloader是为了对整个系统资源进行初始化配置用的,为操作系统的运行准备好环境.
而单片机由于系统的资源比较少,一般是不需要操作系统的,也就不需要BOOTLOADR为其准备初始化的环境了.一般用到的初始化直接在程序中就实现了.部分DSP并不是非要把程序搬到内部RAM中,如果其支持地址重映射,在FLASH中执行也是可能的,但是由于速度的原因,一般没人这么干.
作者: sushangen 时间: 2006-3-27 23:35
向海潮和linuxarm二位版主致敬!谢谢!!
作者: chinomango 时间: 2006-4-2 02:57
sushangen, 如果ROM够快可不用boot loader.
作者: th_zwj 时间: 2006-6-14 17:17
小弟遇到个问题,看过斑竹的发言,觉得斑竹肯定能帮忙搞定的.
现在程序运行不正常,应该就是程序在flash中运行速度慢,所以现在想把程序搬迁到RAM中,关键是程序怎么搬迁啊?
究竟具体怎么搞啊.最好能给点代码看看.
感激不尽!!!
作者: liuxiangyua 时间: 2006-6-16 17:07
看了大侠的分析
真是受益非浅啊
作者: yadogxt 时间: 2006-6-22 21:47
lz单片机没搞太明白把
startup.s可是有作用的,不成你调程序时没出过问题
作者: chfj3974 时间: 2006-6-24 11:59
有长知识啦
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |