设为首页 加入收藏

TOP

TI OMAP L138B Linux不能启动的问题解决
2014-11-24 08:22:43 来源: 作者: 【 】 浏览:1
Tags:OMAP L138B Linux 不能 启动 问题 解决

手里有两块板子,第一块CPU的型号为OMAPL138A,第二块为OMAPL138B,其他都是一样的,很奇怪的是同一个Linux内核在第一批的板子上启动正常,但是在第二批板子上启动却停在booting kernel这里不动了,即使用最新版本的内核编译后同样不能启动。


然后再Uboot里通过查看__log_buf里面的启动信息,并且在内核里增加调试信息,经过一番周折发现,L138A与L138B的jtag_id不同。L138A的JTAG ID :0x0b7d102f,L138B的JTAG ID:0x1b7d102f。导致Linux启动的时候验证JTAG ID不能通过。而最新的手册里面也没有提到相关内容。不知道新出的芯片为什么要这样设计,不知道是不是BUG。


手册中描述存放JTAG ID的寄存器


找到了问题所在,这样只要修改一行代码即可解决问题,打开内核源码包下的arch/arm/mach-davinci/common.c文件。在davinci_common_init函数中,找到:


84 davinci_soc_info.jtag_id = __raw_readl(davinci_soc_info.jtag_id_base);


这句代码就是从CPU的寄存器中读取JTAG ID,只需要将它改成:


84 davinci_soc_info.jtag_id = 0xb7d102f;


然后保存退出,重新编译内核,即可启动成功。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Arm Linux下 编写Makefile 下一篇Linux音频驱动之一:ALSA架构简介

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)