一、编译出NK,但是但是下载NK后不会启动。

原因:就是DNW设置地址不对,并不是每个NK下载到0x32000000都能运行的。欲知详情,请看下面。

先看这个能在0x32000000运行的NK的内存映射表

OEMAddressTable

;;;-------------------------------------------------------------

;;; Virt Addr   Phys Addr   MB

;;;-------------------------------------------------------------

DCD 0x80000000, 0x02000000, 30  ; 30 MB SRAM(SRAM/ROM) BANK 0

DCD 0x82000000, 0x08000000, 32  ; 32 MB SROM(SRAM/ROM) BANK 1

DCD 0x84000000, 0x10000000, 32  ; 32 MB SROM(SRAM/ROM) BANK 2

DCD 0x86000000, 0x18000000, 32  ; 32 MB SROM(SRAM/ROM) BANK 3

DCD 0x88000000, 0x20000000, 32  ; 32 MB SROM(SRAM/ROM) BANK 4

DCD 0x8A000000, 0x28000000, 32  ; 32 MB SROM(SRAM/ROM) BANK 5

DCD 0x8C000000, 0x30000000, 64  ; 64 MB DRAM BANK 0, 1

DCD 0x90800000, 0x48000000,  1  ; Memory control register

DCD 0x90900000, 0x49000000,  1  ; USB Host register

DCD 0x90A00000, 0x4A000000,  1  ; Interrupt Control register

DCD 0x90B00000, 0x4B000000,  1  ; DMA control register

DCD 0x90C00000, 0x4C000000,  1  ; Clock & Power register

DCD 0x90D00000, 0x4D000000,  1  ; LCD control register

DCD 0x90E00000, 0x4E000000,  1  ; NAND flash control register

DCD 0x90F00000, 0x4F000000,  1  ; Camera control register

DCD 0x91000000, 0x50000000,  1  ; UART control register

DCD 0x91100000, 0x51000000,  1  ; PWM timer register

DCD 0x91200000, 0x52000000,  1  ; USB device register

DCD 0x91300000, 0x53000000,  1  ; Watchdog Timer register

DCD 0x91400000, 0x54000000,  1  ; IIC control register

DCD 0x91500000, 0x55000000,  1  ; IIS control register

DCD 0x91600000, 0x56000000,  1  ; I/O Port register

DCD 0x91700000, 0x57000000,  1  ; RTC control register

DCD 0x91800000, 0x58000000,  1  ; A/D convert register

DCD 0x91900000, 0x59000000,  1  ; SPI register

DCD 0x91A00000, 0x5A000000,  1  ; SD Interface register

DCD 0x91B00000, 0x5B000000,  1  ; AC97 Interface register

DCD 0x91C00000, 0x5C000000,  1  ; ATAPI register cs0 add by fly

DCD 0x91D00000, 0x5D000000,  1  ; ATAPI register cs1 add by fly

DCD 0x00000000, 0x00000000,  0  ; End of Table (MB MUST BE ZERO!)

END

现在再来看这个NK对应的config.bib文件的内存分配

MEMORY

;NK 29MB

NK   8C200000  01D00000  RAMIMAGE----注意这个8C200000刚好对应的是物理地址0x30200000!

;RAM 96MB

RAM         8E000000  02000000  RAM

; Common RAM areas

AUD_DMA      8c002000  00002000  RESERVED

DRV_GLB   8c010000  00010000  RESERVED

DBGSER_DMA  8c022000  00002000  RESERVED

SER_DMA   8c024000  00002000  RESERVED

IR_DMA   8c026000  00002000  RESERVED

SD_DMA   8c028000  00008000  RESERVED

EDBG   8c030000  00020000  RESERVED

CAMERA   8c050000  00110000  RESERVED

DISPLAY   8c160000  000A0000  RESERVED

注意红色那行,由此可知,DNW不是随便乱填就可以下载的,我想这个应该是唯一的,必须看内存映射表以及config.bib的设置。在这里不想多举例子,最后我想提醒大家看看这个config.bib的配置,各个部分是不能重叠的。

还有:在WINCE5.0下无法生成NK.nbo,后来在网上看到相关文章,才知道需要修改config.bib这个文件,需要添加如下参数:

ROMSTART

ROMWIDTH

ROMSIZE

三、(1)boot.bib中和config.bib定义的内存段有重复的地方,比如说EBOOT    8c038000  00020000  RAMIMAGE  和

EDBG    8c030000  00020000  RESERVED  这样是否有影响,我看到有文章说,EBOOT镜像在的地方不可以被重写和覆盖,但是,这里却重复了???

(2)按理说,congfig.bib中的定义和头文件中定义的地址一致才对,以下是我从loarder.h中截出来的,请看

// Nk Memory reigions defined in config.bib...

//

#define ROM_RAMIMAGE_START          0x8C100000

#define ROM_RAMIMAGE_SIZE          0x01000000

// Start addresses must match config.bib's RAMIMAGE

#define RAM_START                  0x8d100000

#define RAM_SIZE                    0x00F00000

按照config.bib的定义,以上应该是以下才对

// Nk Memory reigions defined in config.bib...

//

#define ROM_RAMIMAGE_START          8C200000

#define ROM_RAMIMAGE_SIZE          02400000

// Start addresses must match config.bib's RAMIMAGE

#define RAM_START                  8E600000

#define RAM_SIZE                    01900000

这个是我的理解错误,还是什么的,请各位大侠指教,我的是wince5.0

牛人回答

1. eboot所在的位置不能被覆盖,是指flash中。ram中,当eboot启动,加载了OS后,系统控制权就交给OS了,eboot就不会再被用到,所以其在RAM中的空间可以被再次利用。这次覆盖是在OS启动之后加载驱动时才会产生。

2. OS的IMG你可以用UEdit打开看一下,前面有一部分是空白区域。这里定义的起始地址,是对应了有效的可执行OS镜像的开始。所以跟上面看到的有偏移。

-------------从这个牛人这里可以看出,如果改动了config.bib,那么loader.h也要跟着改动了,估计是这样,不然启动不了的。先试试

-----------------我想我是海。哈哈。

bib config_配置config.bib的注意事项以及错误分析——自己都要顶!相关推荐

  1. WINCE的内存配置-config.bib文件的解析

    WINCE的内存(包括SDRAM及FLASH)的配置包含两个方面:源代码(包括C和汇编)中的定义,及系统配置文件CONFIG.BIB中的定义.源代码中需要定义内存的物理及虚拟地址,大小,并初始化名为O ...

  2. bib config_OEMAddressTable,config.bib详解

    比如X86的OEMAddressTable (platform\common\src\x86\common\startup\startup.asm): _OEMAddressTable: dd  80 ...

  3. WINCE config.bib文件中的FSRAMPERCENT的意义

    在BSP/files文件夹下面关于FSRAMPERCENT的内容如下: CONFIG ------- FSRAMPERCENT=0x80808080 下面我们来看看上面表达式的意义 FSRAMPERC ...

  4. 关于WinCE中config.bib的问题

    这两天在看关于bootloader的事情.以前的同事提到开机速度的问题,顺便也就提到了nk的大小的问题.这一连串的事情使得想回头再看看config.bib的事情.这篇文章也算来总结下.也接触过一些AR ...

  5. 关于POS接口配置的几个注意事项

    本文转自:http://blog.sina.com.cn/s/blog_6766b0930101bys8.html POS接口配置的几个注意事项 POS接口配置的几个注意事项 POS接口在与对端路由器 ...

  6. java centertoscreen_java screen的配置详解及注意事项

    java screen的配置详解及注意事项 # Set default encoding using utf8 defutf8 on ## 解决中文乱码,这个要按需配置 defencoding utf ...

  7. Electron桌面悬浮球工具,支持拖动及配置,提供了待办事项、快速笔记等功能。

    HiLoop HiLoop是一个简约的桌面悬浮球工具,支持拖动及配置,提供了待办事项.快速笔记等功能.忙里偷闲体验一下用前端的方式开发桌面端应用,学习的同时做一些有意思的小东西. 叫HiLoop的原因 ...

  8. ssh配置config快速登录服务器

    前提: 通过如下命令生成密钥(回车即可,使用默认配置) ssh-keygen -t rsa 1.客户端(自己mac配置) cd ~/.ssh // 切换到该目录下 ls //显示当前目录下文件 配置c ...

  9. php的配置文件config.php连接mysql_常见问题:数据库连接失败,请检查数据库配置: config config.php...

    数据库连接失败,请检查数据库配置:/config/config.php,出现这个问题,正常是数据库的配置文件缺失,或是配置文件里面的数据库相关信息不正确导致的.请安如下步骤检查下.看看问题是否还存在: ...

  10. .ssh配置config

    在.ssh下配置config文件 注意不要后缀名 注意不要后缀名 注意不要后缀名 Host gerrit.xxxxx.com HostName gerrit.xxxxx.com User Gerrit ...

最新文章

  1. 力扣(LeetCode)刷题,简单题(第2期)
  2. centos8开启网络
  3. GridView绑定时通过RowDataBound事件获取数据源列值
  4. 输出200-299之间的所有素数
  5. PHP的引用传值值传递
  6. [蓝桥杯][2017年第八届真题]发现环
  7. ------表达式---数值表示/算术运算符
  8. Java 队列 Queue 使用说明
  9. Spring Boot整合Druid的使用以及步骤
  10. 远程服务器网刻系统,网刻-wu123119-ChinaUnix博客
  11. assimp android build,Android assimp编译及引用
  12. 第2.2节 串行SPI接口控制PE4312数控衰减器
  13. Qt2D游戏开发引擎QtGameEngine使用入门之类功能说明
  14. 采用顺序存储实现队列的初始化、入队、出队操作。/验证实验/
  15. windows安装cx_oracle的坑
  16. Flash鼠绘马蹄莲教程
  17. MongoDB 安全安全检查列表
  18. 怎么用科学计算机算反三角函数值域,反三角函数值域怎么求
  19. 过一下hibernate4-3
  20. 计算机专业英语期末考试b卷,天津农学院期末考试试卷计算机专业英语(4份,有答案)...

热门文章

  1. 在线卡西欧计算机,卡西欧科学计算器在线
  2. 做一个文字跟随鼠标java_JavaScript实现文字跟随鼠标特效
  3. Windows PE文件各个节(Section)分析
  4. 【调剂】西安工业大学刘欢教授“宽光谱量子点成像”科研团队接收5名调剂学生...
  5. Unity3D使用透明视频,解决Pr导出WebM毛边问题
  6. 酒店抖音小程序开发方案
  7. 记一次Windows 无法加载这个硬件的设备驱动程序。驱动程序可能已损坏或不见了。 (代码 39)
  8. Ubuntu 12.04更新源
  9. JAVA实现负载均衡
  10. Windows7 内部版本7601 此Windows副本不是正版解决办法