u-boot-2011.06 raise: Signal # 8 错误修正
来源:互联网 发布:抢月饼javascript 编辑:程序博客网 时间:2024/06/13 23:56
在上一篇文章中提到,在开发板上电后,会出现“raise: Signal # 8 caught”。这虽然不影响系统的正常运行,但也是一个不小的bug,也许会影响以后u-boot-2011.06的移植,因此我们有必要把这个bug去除掉。
其实把这个bug去掉也很简单,就是把time.c(在arch/arm/arm920t/s3c24x0目录下)这个文件中的四个全局变量用gd这个数据结构中的4个相关成员代替就可以了,具体的就是:
timer_load_val用gd->timer_rate_hz替代;
timer_clk用gd->tbl替代;
timestamp用gd->timer_reset_value替代;
lastdec用gd->lastinc替代。
下面我们就列出time.c这个文件具体需要修改的地方:
去掉第38行和第39行关于timer_load_val和timer_clk这两个变量的声明,并加上下面代码:
38:DECLARE_GLOBAL_DATA_PTR;
去掉第49行和第50行关于timestamp和lastdec这两个变量的声明;
去掉第60行至第68行语句(if (timer_load_val == 0)的判断内容),改为:
60:gd->timer_rate_hz = get_PCLK() /(2*16*100);
61:gd->tbl = get_PCLK() / (2 * 16);
剩下需要修改的内容就是具体的变量替换,其中每条语句前面的行号为源文件的行号:
70:gd->lastinc = gd->timer_rate_hz;
71:writel(gd->timer_rate_hz,&timers->tcntb4);
78:gd->timer_reset_value = 0;
99:gd->timer_reset_value = t;
108:tmo *= (gd->timer_rate_hz * 100);
118:gd->lastinc = READ_TIMER();
119:gd->timer_reset_value = 0;
126:return tmr / (gd->tbl / CONFIG_SYS_HZ);
137:tmo *= (gd->timer_rate_hz * 100);
140:tmo = usec * (gd->timer_rate_hz * 100);
160:if (gd->lastinc >= now) {
162:gd->timer_reset_value += gd->lastinc -now;
165:gd->timer_reset_value += gd->lastinc + gd->timer_rate_hz- now;
167:gd->lastinc = now;
169:return gd->timer_reset_value;
181:tbclk = gd->timer_rate_hz * 100;
通过上述的修改,我们再上电启动后,就不会再有raise: Signal # 8 caught了。
- u-boot-2011.06 raise: Signal # 8 错误修正
- u-boot-2011.06在基于s3c2440开发板的移植之解决raise: Signal # 8 caught
- Uboot中raise: Signal # 8 caught解决
- 逐步完善u-boot-2011.06-rc2-OK6410--SOLVE_raise: Signal # 8 caught
- signal与raise,sigaction
- signal raise alarm用法
- powerpc u-boot fdt修正过程。
- u-boot编译错误
- uboot中raise:Signal #8 caught的根本原因
- uboot中raise:Signal #8 caught的根本原因
- U-boot应用于AT91 RM9200重映射机制的修正
- 修正Ok6410的U-Boot网络不可用
- u-boot hello_world.srec 错误
- Linux Signal (3): kill和raise
- Linux Signal (3): kill和raise
- Linux Signal (3): kill和raise
- signal.h 中 signal 和 raise的用法
- 解决编译u-boot-1.1.6 出现undefined reference to `raise'问题后,串口不输出问题
- ubuntn下装mysql
- 序列化
- J2EE系统应用性能问题解决的通用方法
- 提示错误:arm-linux-gcc: Command not found
- 比较好的资源下载网站
- u-boot-2011.06 raise: Signal # 8 错误修正
- 【linux视频教程整套共25个视频】Linux初学者入门教程
- Totem Movie Player是一套在類Unix操作系統上運行的多媒體播放器,也是Ubuntu系統的預設影片播放器
- 【学习Oracle基础】Oracle跨用户导入数据时使用的命令
- DP入门之《LIS~最长不降子序列》
- TransparentBlt、StretchBlt与BitBlt三个函数的区别
- mini2440 gdb远程调试
- lucene3 分词器的使用
- A generic error occurred in GDI+. 解决方法