神秘的小五君 发表于 2013-9-19 23:07:46

MSP430的程序从哪一段开始存储

本帖最后由 神秘的小五君 于 2013-9-19 23:40 编辑

      MSP430的程序从FLASH的哪一段开始存储呐?看到手册中有描述segment 0(0xffff)存储了中断向量表,是不是说明是从最高地址(0xffff,segment 0)开始逐字节向低地址处存贮呐?这样倒着来好像有点奇怪啊。而且一般情况下中断向量表不应该放在起始地址处吗?430的FLASH提供了main memory的擦除机制,但是擦除了之后不是把程序也擦除了吗?430执行代码的机制是怎么样的呐,是类似于ARM将代码从FLASH中复制到RAM中执行吗?对于430单片机的机制还不是很熟悉,希望懂的大大帮忙解释一下,谢谢了。{:3_45:}

szmini2006 发表于 2013-9-19 23:55:12

ARM大部分都是直接在FLASH中运行代码,而不是复制到RAM中

cc1989summer 发表于 2013-9-20 00:19:32

啃英文原版资料吧,尽管不好啃。

神秘的小五君 发表于 2013-9-20 10:05:45

szmini2006 发表于 2013-9-19 23:55 static/image/common/back.gif
ARM大部分都是直接在FLASH中运行代码,而不是复制到RAM中

额,不是的。不管是NOR FLASH还是NAND FLASH都是复制到SDRAM中的。不过这不是主要的问题,我只是想问一下MSP430的启动机制。

szmini2006 发表于 2013-9-20 10:09:34

神秘的小五君 发表于 2013-9-20 10:05 static/image/common/back.gif
额,不是的。不管是NOR FLASH还是NAND FLASH都是复制到SDRAM中的。不过这不是主要的问题,我只是想问一下 ...

你从哪里看到FLASH代码复制到RAM中的?我的程序保存在flash中272K,RAM只有64K,如何复制?

神秘的小五君 发表于 2013-9-20 10:38:34

szmini2006 发表于 2013-9-20 10:09 static/image/common/back.gif
你从哪里看到FLASH代码复制到RAM中的?我的程序保存在flash中272K,RAM只有64K,如何复制? ...

这个,我说的是ARM,你看错了。我只是打个比方。

神秘的小五君 发表于 2013-9-20 10:56:24

cc1989summer 发表于 2013-9-20 00:19 static/image/common/back.gif
啃英文原版资料吧,尽管不好啃。

我早上查看了MSP430x1xx Family User's Guide (Rev. F),但是好像没提到启动过程。你知道哪里这方面资料吗?

jlhgold 发表于 2013-9-20 15:52:39

430有内置类似bootloader的东西

jlhgold 发表于 2013-9-20 15:53:02

就像STC有什么IAP这种类似

coolsir 发表于 2013-9-20 19:40:22

430的复位中断地址是放在0xffff此地址放着程序第一条将要执行的程序地址,跳到此地址即跳到了程序开始执行的地方,中断向量固定是从0XFFFF往上拍列的即往地址小的方向排列。   程序地址呢 则是根据IDE 的设置放在一个起始地址 比如IAR 放在了0X5C00,430确实提供了直接FLASH编程功能如果把向量地址写坏了单片机程序肯定就完了!

神秘的小五君 发表于 2013-9-20 21:47:45

coolsir 发表于 2013-9-20 19:40 static/image/common/back.gif
430的复位中断地址是放在0xffff此地址放着程序第一条将要执行的程序地址,跳到此地址即跳到了程序开始执行 ...

哦,大概明白了。原来IAR编程环境会自动分配程序地址的。谢谢了
页: [1]
查看完整版本: MSP430的程序从哪一段开始存储