jp1017

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017  发布于  2015-06-24 14:32:58
采纳率 0%
78个问答
6500

3520D 内存、flash空间地址问题(已解决)

 
本帖最后由 jp1017 于 2015-7-9 14:41 编辑

再弄uboot启动画面,越看越乱,有几个问题:
1:内存地址问题:
                开发包里写的ddr内存管理示意(256M):
         DDR:                                                           
   
    -----|-------|  0x80000000   # Memory managed by OS.              
    64M  | OS    |                                                
         |       |                                                
    -----|-------|  0x84000000   # Memory managed by MMZ block anonymous.         
    186M | MMZ   |                                                
         |       |                                                
    -----|-------|  0x8fa00000   # Memory managed by MMZ block jpeg.                       
    5M   |       |                                                
         |       |                                                
    -----|-------|  0x8ff00000   # Not used.                        
    1M   |       |                                                
         |       |                                                
    -----|-------|  0x90000000   # End of DDR.

                起始地址为什么是0x80000000,最大到0x90000000,为什么设置开机启动画面时,环境变量setenv jpeg_addr 0x94000000,不是超出了吗??有实际地址和虚拟地址的意思吗??
2:spi flash的首地址是多少,为什么烧写uboot要烧到地址0x82000000 , sf write 82000000 0 100000
3:uboot下保存sa命令执行后,

                Erasing SPI flash, offset 0x00080000 size 256K ...done                          
                Writing to SPI flash, offset 0x00080000 size 256K ...done

这个存到了哪里,基地址多少,偏移地址0x80000,实际地址是多少呢?

uboot存到了0x82000000 + 100000, 内核是100000 +400000, 文件系统 500000 + b00000
uboot显示图片,需要把图片保存到flash里,可以下面这样:
uboot,0x82000000 + 80000,然后紧接着80000 + 80000保存图片,后面内核和文件系统不变

这样之后,把图片搬运到内存需要用到函数load_jpeg,但是出现错误:

                addr:0x8084d848,size:69707,logoaddr:0x94000000,:ff,ff                           
                load jpeg err.

0x8084d848这个地址怎么来的,究竟发生了什么,该如何操作呢?


求大神指导,在此先行谢过!

                           ——也许你会说我是一个梦想者,但我不是唯一的一个。
我来回答
回答15个
时间排序
认可量排序

david

33个粉丝

368

问答

253

专栏

229

资料

david 2015-06-24 17:41:05
认可0
本帖最后由 david 于 2015-6-24 17:42 编辑

看datasheet 1.3.3 地址空间映射。
jpeg的实地址 是MMZ 0x8af0000
uboot 烧写的基地址在1.3.3中给出的,你烧写时输入的是偏移地址。
如果要开机画面,需要在spi flash上单独开辟空间保存图片。uboot直接读照片的实地址,load到ddr,然后加载。

addr:0x8084d848,size:69707,logoaddr:0x94000000,:ff,ff                           
                load jpeg err.
这个应该还是实地址和虚地址问题.

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-06-24 21:09:01
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=17434&ptid=7945]david 发表于 2015-6-24 17:41[/url]
看datasheet 1.3.3 地址空间映射。
jpeg的实地址 是MMZ 0x8af0000
uboot 烧写的基地址在1.3.3中给出的, ...[/quote]

谢谢版主!
我存放图片的指令是:

    mw.b 82000000 ff c0000
    tftp 82000000 logo.jpg
    sf probe 0
    sf erase c0000 40000
    sf write 82000000 c0000 40000
也就是把图片存到了地址0x820c0000,这个就是实地址吧。

然后设置环境变量jpeg_addr 0x820c0000,然后load_jpeg把图片载入内存,就出现错误:

<>                             
addr:0x80833f80,size:69707,logoaddr:0x820c0000,:ff,ff

这个图片的实地址有问题吗?该如何载入内存,vobuf又是多少呢?



jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-06-25 09:10:05
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=17434&ptid=7945]david 发表于 2015-6-24 17:41[/url]
看datasheet 1.3.3 地址空间映射。
jpeg的实地址 是MMZ 0x8af0000
uboot 烧写的基地址在1.3.3中给出的, ...[/quote]

现在就是找不到spi flash的实地址。
我看datasheet1.3.3 spi flash的起始地址是0x58000000,这样的话,uboot在spi flash存放的实地址是0x58000000吗,内核存放地址是0x58100000,文件系统是0x58500000,是这样的吗?
我存放图片的指令是:

    mw.b 82000000 ff c0000
    tftp 82000000 logo.jpg
    sf probe 0
    sf erase c0000 40000
    sf write 82000000 c0000 40000

这个图片在spi flash里的地址是0x580c0000吗?读这个内容不对,请问应该是多少呢??
谢谢!!!

david

33个粉丝

368

问答

253

专栏

229

资料

david 2015-06-25 09:22:57
认可0
本帖最后由 david 于 2015-6-25 09:28 编辑

  sf write 82000000 c0000 40000
这个翻译过来 就是 把DDR 82000000 的内容写到spi flash c0000的地方,读出DDR的长度40000,写入到flash.

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-06-25 09:28:29
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=17456&ptid=7945]david 发表于 2015-6-25 09:22[/url]
sf write 82000000 c0000 40000
这个翻译过来 就是 把DDR 82000000 的内容写到spi flash 基地址+c0000的 ...[/quote]

是的,这样的话实际地址不就是0x580c0000吗?怎么读取失败呢?

david

33个粉丝

368

问答

253

专栏

229

资料

david 2015-06-25 09:33:30
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=17450&ptid=7945]jp1017 发表于 2015-6-25 09:10[/url]
现在就是找不到spi flash的实地址。
我看datasheet1.3.3 spi flash的起始地址是0x58000000,这样的话, ...[/quote]

这个地址是SPI FLASH的寄存器地址。通过SPI FLASH 控制寄存器,数据寄存器寻址 SPI FLASH。

比如说SPI FLASH的数据寄存器 偏移地址是0x20 ,通过控制数据寄存器 写入 读写指令,然后读出数据。
这个时候操作的地址就是0x58000020 地址。这个在一般boot中都转换好了,对于外面就可以理解为Flash的操作是从 0 地址开始。

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-06-25 09:37:42
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=17459&ptid=7945]david 发表于 2015-6-25 09:33[/url]
这个地址是SPI FLASH的寄存器地址。通过SPI FLASH 控制寄存器,数据寄存器寻址 SPI FLASH。

比如说SPI ...[/quote]

我把jpeg_addr 的地址设置为0xc0000,读取还是失败的啊,哪里的问题呢?

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-06-25 10:13:57
认可0
本帖最后由 jp1017 于 2015-7-9 15:06 编辑

[quote][url=forum.php?mod=redirect&goto=findpost&pid=17459&ptid=7945]david 发表于 2015-6-25 09:33[/url]
这个地址是SPI FLASH的寄存器地址。通过SPI FLASH 控制寄存器,数据寄存器寻址 SPI FLASH。

比如说SPI ...[/quote]

用tftp存一个图片到内存94000000
查看内容如下:

94000000: e0ffd8ff 464a1000 01004649 48000101    ......JFIF.....H               
94000010: 00004800 4300dbff 01010200 02010102    .H.....C........               
94000020: 02020202 03020202 03030305 04060303    ................               
94000030: 07050304 07070706 08070706 08090b09    ................               
94000040: 07080a08 0a0d0a07 0c0c0b0a 09070c0c    ................               
94000050: 0c0d0f0e 0c0c0b0e 00dbff0c 02020143    ............C...               
94000060: 03030302 06030306 0807080c 0c0c0c0c    ................               
94000070: 0c0c0c0c 0c0c0c0c 0c0c0c0c 0c0c0c0c    ................  

直接在ubuntu上查看图片内容如下:

   1 0000000: ffd8 ffe0 0010 4a46 4946 0001 0101 0048  ......JFIF.....H
   2 0000010: 0048 0000 ffdb 0043 0002 0101 0201 0102  .H.....C........
   3 0000020: 0202 0202 0202 0203 0503 0303 0303 0604  ................
   4 0000030: 0403 0507 0607 0707 0607 0708 090b 0908  ................
   5 0000040: 080a 0807 070a 0d0a 0a0b 0c0c 0c0c 0709  ................
   6 0000050: 0e0f 0d0c 0e0b 0c0c 0cff db00 4301 0202  ............C...
   7 0000060: 0203 0303 0603 0306 0c08 0708 0c0c 0c0c  ................
   8 0000070: 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c 0c0c  ................

可以看出两者是有差别的:),为什么都可以读取照片呢?是编码格式不一致吗:P??后面的那几个...之间的字符一致,求指导:handshake。

顺便插一句:lol:spi flash里地址应该是多少,怎么不对呢?:handshake

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-06-26 16:27:40
认可0
来人,护驾!:)

下次注意点儿!:victory:

主公,快走!!!:hug:

怎么把spi flash里的图片写到内存里呢?谢谢!!!:P

cs_sos

0个粉丝

9

问答

2

专栏

5

资料

cs_sos 2015-06-26 16:47:39
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=17470&ptid=7945]jp1017 发表于 2015-6-25 10:13[/url]
用tftp存一个图片到内存94000000
查看内容如下:

[/quote]

一样的啊,内存地址大小端问题而已。

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-06-27 07:58:49
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=17514&ptid=7945]cs_sos 发表于 2015-6-26 16:47[/url]
一样的啊,内存地址大小端问题而已。[/quote]

是的哦,哈哈哈,谢谢你!!!:)

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2015-07-01 10:39:50
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=17434&ptid=7945]david 发表于 2015-6-24 17:41[/url]
看datasheet 1.3.3 地址空间映射。
jpeg的实地址 是MMZ 0x8af0000
uboot 烧写的基地址在1.3.3中给出的, ...[/quote]

已搞定,谢谢版主,美好的一天啊,再接再厉,gogogo!!!:handshake

testforvc

0个粉丝

1

问答

0

专栏

0

资料

testforvc 2017-09-28 14:34:53
认可0
很有帮助的问题 多谢分享 学习了

jp1017

0个粉丝

78

问答

0

专栏

9

资料

jp1017 2017-09-29 08:51:15
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=64750&ptid=7945]testforvc 发表于 2017-9-28 14:34[/url]
很有帮助的问题 多谢分享 学习了[/quote]

哈哈哈, 感谢,共同进步!:D

fengzheng822

0个粉丝

5

问答

0

专栏

0

资料

fengzheng822 2017-11-08 10:42:46
认可0
请问那里可以找到datasheet
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区