首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助] 询问两个很基础的DSP硬件问题,请您帮忙!

[求助] 询问两个很基础的DSP硬件问题,请您帮忙!

 


我想问两个问题:

1.DSP上电或者Reset后为什么有个bootload的过程,相比之下单片机就没有这
个步骤——即把程序写入到单片机的EEPROM内就算“大功告成了”!

2.DSP不把外部FLASH内的程序“搬迁"到内部的SRAM是不是就不能执行,为什么?

3.DSP 2812内部有FLASH还用”搬迁“程序到SRAM中吗?

由于初学DSP和单片机比较起来很困惑,如果您知道就给予答复吧,不胜感激!!


大家好,我是学DSP的!!
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).

海潮 http://blog.sina.com.cn/m/haichao
谢谢版主,真的感谢您的做答!!

你的做答为两个方面:

1.并非只有DSP需要boot,如微机启动过程也是需要boot的!

2.还说出了微机为什么需要操作系统以及起启动(boot)的过程。

但我仍然不明白的问题是:

1.单片机初始化启动过程为什么不需要boot呢?它是直接从ROM(EEROM/FLASH)中取指令执行的。

2.如果DSP用外部扩展的程序存储器,它如果不把外部FLASH内的程序“搬迁"到内部的SRAM是不是就不能执行,为什么?

3.DSP2812内部有FLASH,它还用的着”搬迁“程序到SRAM中吗?

能不能再给我点提示?谢谢!
大家好,我是学DSP的!!
看来你对BOOTLOADER的作用还不清楚。这里我转摘一段中文论述帮助你理解:

----------------
前阶段做了一次基于ARTMEL at91rm9200引导部分的技术分析,虽主要面向使用at91rm9200板子的的朋友做个简单的推敲,希望起到抛砖引玉的作用。

这里要提及的是at91rm9200内部本身有128k的片内rom,其固化了一个bootloader和uploader, 用来支持程序的下载和引导。BootLoader(引导装载程序)是嵌入式系统软件开发的非常重要的环节,它把操作系统和硬件平台衔接在一起,是跟硬件体系密切相关的。

典型的嵌入式系统软件部分Image memory layout : bootloader , bootloader param, kernel, rootfs

总之, 不同厂商的出的Soc片子在启动方式大都提供片内和片外启动两种方式,一般都是在片内固化一段小程序方便于程序开发而已。




海潮 http://blog.sina.com.cn/m/haichao
bootloader是为了对整个系统资源进行初始化配置用的,为操作系统的运行准备好环境.
而单片机由于系统的资源比较少,一般是不需要操作系统的,也就不需要BOOTLOADR为其准备初始化的环境了.一般用到的初始化直接在程序中就实现了.部分DSP并不是非要把程序搬到内部RAM中,如果其支持地址重映射,在FLASH中执行也是可能的,但是由于速度的原因,一般没人这么干.
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
向海潮和linuxarm二位版主致敬!谢谢!!
大家好,我是学DSP的!!
sushangen, 如果ROM够快可不用boot loader.
小弟遇到个问题,看过斑竹的发言,觉得斑竹肯定能帮忙搞定的.

现在程序运行不正常,应该就是程序在flash中运行速度慢,所以现在想把程序搬迁到RAM中,关键是程序怎么搬迁啊?
究竟具体怎么搞啊.最好能给点代码看看.
感激不尽!!!
看了大侠的分析
真是受益非浅啊
QQ:270833809 E-mail: fcgexcellence@163.com 了解我的生活:270833809.QZONE.QQ.COM 了解我的专业:FCGEXCELLENCE.BLOG.163.COM 了解我的事业:WWW.EESEA.COM
lz单片机没搞太明白把

startup.s可是有作用的,不成你调程序时没出过问题
huster
有长知识啦
返回列表