zynq vxworks6.9.4.10 boot引导镜像启动不了
来源:互联网 发布:asp.net js 隐藏控件 编辑:程序博客网 时间:2024/06/18 13:26
硬件平台:zynq 7045
软件平台:workbench 3.3 Vxworks6.9.4.10,Vavido 2017.2
问题描述:将生成的boot.bin文件通过仿真器烧录到SPI flash后,boot可以正常启动,其他网络功能也正常;通过FTP下载VxWorks镜像时,程序会一直停在at 0x00200000阶段,不能显示vxworks启动界面;
所做尝试:
1.直接将fsbl,bit文件和vxworks镜像合起来编译生成boot.bin,然后通过xlinx仿真器烧录到spi flash中,发现镜像可以启动,功能一切正常;(该方法应该只针对zynq板子,其他powerpc应该不适用);
2.切换到vxworks 6.9.4.7发现boot可以引导vxworks镜像启动;但该版本不支持EMMC所以不能使用该版本;
3.切换到vxworks 6.9.4.8发现boot可以引导vxworks镜像启动;该版本也支持EMMC,但EMMC格式化有问题,该版本对EMMC支持做的不太好;
4.最后只能想着在vxworks 6.9.4.10上面解决boot不能引导镜像启动的问题;由于boot可以启动,只是在引导镜像最后一步可能由于什么原因导致系统异常;
解决办法:
1.boot可以正常启动;也可以加载镜像;只是最后一步出问题;这时考虑能否通过点灯的方式来判断vxworks镜像到底在哪里出问题了;
首先在sysAlib.s中添加点灯程序;因为它是镜像起来后最先执行的代码;(要根据硬件原理图来确定是哪个灯对应的MIO是哪一个,然后参照手册来写相应的寄存器)
LDR r12, =0xe000a204
LDR r11, =0x00000001
STR r11, [r12]
LDR r12, =0xe000a208
LDR r11, =0x00000001
STR r11, [r12]
LDR r12, =0xe000a040
LDR r11, =0x00000000
STR r11, [r12]
测试发现这部分没有问题;应该能够跳转到C程序;usrint--->sysHwint----->kernelInit-------->usrRoot------> sysHwInit2
*(int *)(0xE000A204)=0x1;
*(int *)(0xE000A208)=0x1;
软件平台:workbench 3.3 Vxworks6.9.4.10,Vavido 2017.2
问题描述:将生成的boot.bin文件通过仿真器烧录到SPI flash后,boot可以正常启动,其他网络功能也正常;通过FTP下载VxWorks镜像时,程序会一直停在at 0x00200000阶段,不能显示vxworks启动界面;
所做尝试:
1.直接将fsbl,bit文件和vxworks镜像合起来编译生成boot.bin,然后通过xlinx仿真器烧录到spi flash中,发现镜像可以启动,功能一切正常;(该方法应该只针对zynq板子,其他powerpc应该不适用);
2.切换到vxworks 6.9.4.7发现boot可以引导vxworks镜像启动;但该版本不支持EMMC所以不能使用该版本;
3.切换到vxworks 6.9.4.8发现boot可以引导vxworks镜像启动;该版本也支持EMMC,但EMMC格式化有问题,该版本对EMMC支持做的不太好;
4.最后只能想着在vxworks 6.9.4.10上面解决boot不能引导镜像启动的问题;由于boot可以启动,只是在引导镜像最后一步可能由于什么原因导致系统异常;
解决办法:
1.boot可以正常启动;也可以加载镜像;只是最后一步出问题;这时考虑能否通过点灯的方式来判断vxworks镜像到底在哪里出问题了;
首先在sysAlib.s中添加点灯程序;因为它是镜像起来后最先执行的代码;(要根据硬件原理图来确定是哪个灯对应的MIO是哪一个,然后参照手册来写相应的寄存器)
LDR r12, =0xe000a204
LDR r11, =0x00000001
STR r11, [r12]
LDR r12, =0xe000a208
LDR r11, =0x00000001
STR r11, [r12]
LDR r12, =0xe000a040
LDR r11, =0x00000000
STR r11, [r12]
测试发现这部分没有问题;应该能够跳转到C程序;usrint--->sysHwint----->kernelInit-------->usrRoot------> sysHwInit2
*(int *)(0xE000A204)=0x1;
*(int *)(0xE000A208)=0x1;
*(int *)(0xE000A040)=0x0;
阅读全文
0 0
- zynq vxworks6.9.4.10 boot引导镜像启动不了
- ZYNQ-7000如何生成从Flash和SD卡启动的镜像文件
- ubuntu 启动项创建器 选择不了CD镜像,IOS镜像的解决方法
- ZYNQ启动
- petalinux-package qspi 启动 生成的镜像启动不了的问题。
- spring boot 自己创建项目启动不了
- U-Boot启动引导内核分析(一)
- U-Boot启动引导内核分析(二)
- U-Boot启动引导内核分析(三)
- U-boot如何引导Linux内核启动
- U-boot如何引导Linux内核启动
- Linux 引导启动程序(boot)
- 转: U-Boot启动引导内核分析
- U-Boot启动引导内核分析
- linux内核--引导启动程序(boot)
- Linux 引导启动程序(boot)
- Linux 引导启动程序(boot)
- 学习笔记:u-boot引导内核启动
- java并发编程实战:线程安全性笔记
- Linux内核层和用户层配置GPIO引脚
- 使用WebView控件时运行出现错误提示
- AJAX三种返回查询结果的三种方式
- Java中PreparedStatement和Statement的用法区别
- zynq vxworks6.9.4.10 boot引导镜像启动不了
- 散列表
- 网易2016研发工程师编程题:路灯 [python]
- Apache
- 鸡啄米:C++编程入门系列之目录和总结http://www.jizhuomi.com/software/129.html
- java使用Calendar类获取常用简单工具类
- Altium 在PCB重新编号更新到SCH原理图的方法
- DataNode逻辑结构
- 程序员跳槽全攻略