共2条
1/1 1 跳转至页
uClinux uClinux编译处处是雷
问
用周公smart配套光盘里的环境完全可以编译使用。但对个人学习来说相当于别人给你装好了系统,直接就可以使用。自己想多学习实践实践“安装系统”。
用2.6(版本2.6.5和2.6.11.8)都试过了,最好的情况是可以编译通过,放在板子上跑没console输出。怀疑老外的补丁里面的波特率和开发板不相符,试着自己改,还是不成功,可能是我比较愚笨,没改对。
周公给的ARM-elf-gcc环境是2.95.3,感觉版本太低,虽说不用4.01的版本也要用3.x的版本试试呀,换3.4.3版本后编译出错,一查原来3.x版本对某些2.95.3的选项还不支持。没办法修改编译选项后编译成功,放到开发板上跑,看到了console输出,一下子很兴奋,结果跑了一半还没完全起来就出错了(内核还是2.4的)
Initializing RT netlink socket
Internal error: branch through zero: 0
CPU: 0
pc : [<00000004>] lr : [<00000000>] Not tainted
sp : 00000000 ip : 81133fd0 fp : 81133ffc
r10: 00000000 r9 : 810f0af4 r8 : 00000002
r7 : 00000000 r6 : 81132000 r5 : 81010ab0 r4 : 81010ab4
r3 : 00000000 r2 : 20000013 r1 : 00000000 r0 : 00000000
Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 0
Process swapper (pid: 1, stackpage=81133000)
Stack:
81133fc0: 00000000 00000004 200000
13
81133fe0: 00000000 00000000 810ee000 00000000 00000000 81134000 81013bac 810110
58
Backtrace:
Function entered at [<81011048>] from [<81013bac>]
r6 = 00000000 r5 = 810EE000 r4 = 00000000
Code: 00000000 ef9f0000 (e59ff014) e59ff014 e59ff014
Kernel panic: Attempted to kill init!
真是郁闷,哪位高手有成功的经验分享一下呀? 答 1: re:关于SmartARM2200的uCLinux。
我们提供的移植补丁文件仅针对uClinux-dist-20040408.tar.gz版本。熟悉补丁文件的人都会知道,补丁文件和被修改文件的行号息息相关。针对某一版本的补丁文件用在其它版本上,很可能会出错。如果两个版本的被修改的文件完全一样,则大抵可以使用。
如果要想进行DIY,建议先将我们的补丁文件弄明白,然后针对自己需要的版本再进行自己喜欢的修改。
对于uCLinux在LPC2200上的移植,我们将会在即将出版的书中详细介绍。 答 2: 没错我是在uClinux-dist-20040408.tar.gz这个版本上用ARM-elf-gcc3.4.3编译的,生成的linux文件还比用2.95.3编译的小,就是内核只能起来一半就出错了。补丁是用smart光盘里的,郁闷的是2.95.3编译的可以跑,3.4.3的编译器编译的就只能起来一半。
2.6内核用的补丁是老外写(对应相应的内核版本2.6.x)的,console输出是乱码。可能是老外写的补丁波特率不适合开发板的晶振,但我改了没效果,可能我比较愚笨,没改对。
其他有没有哪位高手做好的经验分享一下?或者大家一起交流交流。
用2.6(版本2.6.5和2.6.11.8)都试过了,最好的情况是可以编译通过,放在板子上跑没console输出。怀疑老外的补丁里面的波特率和开发板不相符,试着自己改,还是不成功,可能是我比较愚笨,没改对。
周公给的ARM-elf-gcc环境是2.95.3,感觉版本太低,虽说不用4.01的版本也要用3.x的版本试试呀,换3.4.3版本后编译出错,一查原来3.x版本对某些2.95.3的选项还不支持。没办法修改编译选项后编译成功,放到开发板上跑,看到了console输出,一下子很兴奋,结果跑了一半还没完全起来就出错了(内核还是2.4的)
Initializing RT netlink socket
Internal error: branch through zero: 0
CPU: 0
pc : [<00000004>] lr : [<00000000>] Not tainted
sp : 00000000 ip : 81133fd0 fp : 81133ffc
r10: 00000000 r9 : 810f0af4 r8 : 00000002
r7 : 00000000 r6 : 81132000 r5 : 81010ab0 r4 : 81010ab4
r3 : 00000000 r2 : 20000013 r1 : 00000000 r0 : 00000000
Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment user
Control: 0
Process swapper (pid: 1, stackpage=81133000)
Stack:
81133fc0: 00000000 00000004 200000
13
81133fe0: 00000000 00000000 810ee000 00000000 00000000 81134000 81013bac 810110
58
Backtrace:
Function entered at [<81011048>] from [<81013bac>]
r6 = 00000000 r5 = 810EE000 r4 = 00000000
Code: 00000000 ef9f0000 (e59ff014) e59ff014 e59ff014
Kernel panic: Attempted to kill init!
真是郁闷,哪位高手有成功的经验分享一下呀? 答 1: re:关于SmartARM2200的uCLinux。
我们提供的移植补丁文件仅针对uClinux-dist-20040408.tar.gz版本。熟悉补丁文件的人都会知道,补丁文件和被修改文件的行号息息相关。针对某一版本的补丁文件用在其它版本上,很可能会出错。如果两个版本的被修改的文件完全一样,则大抵可以使用。
如果要想进行DIY,建议先将我们的补丁文件弄明白,然后针对自己需要的版本再进行自己喜欢的修改。
对于uCLinux在LPC2200上的移植,我们将会在即将出版的书中详细介绍。 答 2: 没错我是在uClinux-dist-20040408.tar.gz这个版本上用ARM-elf-gcc3.4.3编译的,生成的linux文件还比用2.95.3编译的小,就是内核只能起来一半就出错了。补丁是用smart光盘里的,郁闷的是2.95.3编译的可以跑,3.4.3的编译器编译的就只能起来一半。
2.6内核用的补丁是老外写(对应相应的内核版本2.6.x)的,console输出是乱码。可能是老外写的补丁波特率不适合开发板的晶振,但我改了没效果,可能我比较愚笨,没改对。
其他有没有哪位高手做好的经验分享一下?或者大家一起交流交流。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |