分类: 嵌入式
2009-11-17 22:28:24
昨天在ubuntu上用arm-linux-gcc2.95.3把vivi编译通过了。最后转载了vivi的配置菜单解释。
这几天晚上无聊看看vivi代码,写过bootload再看就是不一样,注意到很多细节问题,前面代码都很简单,库函数里面有不少值得参考的,我自己写的功能函数太挫了。。
对MMU和MTD这两部分感兴趣,而且这两部分也相对比较难理解
先搞定mtd,主要是norflash和nandflash驱动。差不多了再做个总结。
MMU说简单,好像也不难,就是有时觉得很绕。。
最后还有个难点就是vivi是如何启动linux。
菜单说明
System Type //系统类型
(S3C2440-based) ARM System type //ARM系统类型 (硬件是基于何种芯片)
( ) SA1100 – based
( ) PXA250/210 – based //英特尔Xscale arm芯片
( ) S3C2400 – based //三星公司arm芯片
( ) S3C2410 – based //三星公司arm芯片
( ) S3C2440 – based //三星公司arm芯片
Implementations //启动位置
(SMDK) Platform
(x)SMDK
( )MPORT3
( )MPORT1
[ ]Support NAND //Boot 支持NAND启动
[ ]Support AMD //Boot 支持AMD启动
– Low Level Hardware Debugging //底层调试(硬件级)
[ ]Enable simple memory test //简单的存储器测试
General Setup //通用设置
[ ] Define TEXT Address //定义text段地址
(0) vivi base address //vivi基地址
[ ] support reset handler //支持复位处理
– CACHE Enable //缓存
[ ] I – Cache on //指令缓存
[ ] D – Cach on //数据缓存
– Power Management //电源管理
[ ] Support power management //支持电源管理
– Others
– [ ] Display progress bar //显示进度
– [ ] Support MD5 //支持MD5
–
Private Data //专用数据
[ ] Support VIVI private data //支持vivi专用数据
[ ] Parse vivi private data from MTD //从MTD上解析vivi专用数据
[ ] Use user–define parameter block //使用用户设定参数块
[ ] Enable debugging messages //打开调试信息
Serial Port //串口
[ ] Serial Port (UART) //support 串口支持
[ ] Support serial terminal //支持串口终端
( EXTENDED)User interface //用户界面
( )STANDARD //标准
( )EXTENDED //扩展
Default prompt “vivi” //默认的提示信息:"vivi"
– Ports //端口
– [ ] Support UART 0 //支持UART0
– [ ] Support UART 1 //支持UART1
– [ ] Support UART 2 //支持UART2
– [ ] Support UART 3 //支持UART3
– – Transfer Protocol //传输协议
– [ ] Support X – Modem //支持 X Modem 传输
– [ ] Support Y – Modem //支持 Y Modem 传输
– [ ] Support Z – Modem //支持 Z Modem 传输
–
Memory Technology Devices (MTD) //存储器设备种类
[ ] Memory Technology Devices (MTD) // support 支持存储器
[ ] Debugging //调试
NOR Flash chip drivers //Nor Flash 芯片驱动
[ ] NOR Device Support 支持 Nor Flash 设备
[ ] Detect flash chips by Common Flash Interface (CFI) //probe 检测 CF 接口
[ ] Flash chip driver advanced configuration options (NEW)
//高级的闪存设置选项
( ) Flash cmd/query data swapping //设置查看FLASH上的数据的字节序
( ) NO
( ) BIG_ENDIAN_BYTE
( ) LITTLE_ ENDIAN_BYTE
[ ] Specific CFI Flash geometry selection (NEW) //特殊的CF选择
[ ] Support 8-bit buswidth (NEW) //支持8位总线宽度
[ ] Support 16-bit buswidth (NEW) //支持16线宽度
[ ] Support 32-bit buswidth (NEW) //支持32线宽度
[ ] Support 64-bit buswidth (NEW) //支持64线宽度
[ ] Support 1-chip flash interleave (NEW) //支持1片闪存
[ ] Support 2-chip flash interleave (NEW) //支持2片闪存
[ ] Support 4-chip flash interleave (NEW) //支持4片闪存
[ ] Support 8-chip flash interleave (NEW) //支持8片闪存
[ ] Support for Intel/Sharp flash chips //支持Intel或harp 的闪存
[ ] Older (theoretically obsoleted now) deivers for non-CFI chips //不支持CFI芯片的旧设备。
[ ] AMD compatible flash chip support (non-CFI) //支持AMD兼容闪存(无cfi)
Mapping drivers for chip access
[ ] Flash device mapped on S3C2410 //S3C2410上的
NAND Flash Device Drivers NAND闪存设备驱动
[ ] Enable ECC correction algorithm //ECC修正算法
[ ] Verify NAND page writes //NAND页写入校验
[ ] SMC Device Support //支持SMC设备
[ ] bonfs support //支持bonfs
Add Built – in Command //内部命令
[ ] men command //存储器指令
[ ] mem test command //存储器测试指令
[ ] param command //参数指令
[ ] part command //退出指令
[ ] bon command //分区指令
[ ] sleep command //停顿指令
[ ] prompt command //提示指令
[ ] built-in command //内部指令
[ ] amd command //初期指令
System hacking //不确定系统
[ ]Support test mode //支持测试模式
[*]Debugging //调试
(0)Debugging verbosity ( 0 = quiet , 3 = noisy ) (NEW) // 调试信息的级别,0应该是不输出调试信息,3输出的最多.
Debugging messages //调试信息
[ ] VIVI low-level debugging functions //vivi底层调试功能。
Load an Alternate Configuration File //载入预配置
Save Configuration to Alternate File //保存配置