历史上的今天
返回首页

历史上的今天

今天是:2025年02月27日(星期四)

正在发生

2020年02月27日 | SmartArm3250下的Linux系统安装

2020-02-27 来源:eefocus

目前正在研究SmartArm3250的Linux驱动方面,所以首先就要在开发板上安装(也可以称为下载)Linux系统,按照书上的步骤,遇到一些小问题,通过多次试验和总结,现在可以熟练的安装Linux系统了,总结一下,其中包含个人的见解和自己找到的资料。


首先,介绍一下安装Linux的大致步骤。开发板就像一个裸机一样,什么都没有(当然有硬件),首先要安装一个类似于电脑中BIOS一样的东西,还 有一个引导操作系统的东西,然后就是装入内核镜像,不是.iso文件哦,是编译内核生成的一个东东,最后就是一个文件系统,类似于电脑中的各个分区,也可 以理解成光是C盘的各种东西,而与电脑中安装系统的不同之处在于,这个文件系统是自己手动安装上去的,而且分为两种文件系统,一个是安全文件系统,另一个 是根文件系统。对于普通的电脑来说,是通过光盘或者U盘等移动设备进行安装的,但对于开发板,它不能直接读取这些媒介中的安装程序,所以就需要通过串口或 网线进行传输,而且是传输已经成型的系统文件。



再说几点需要注意的:1、在安装Linux的全程中,开发板上的ISP跳线可以一直处于短接状态;2、串口调试的时候,在Windows下使用的超 级终端,对应在Linux下使用的是minicom,功能一致,操作不同,也可以使用zlg提供的Tera Term工具;3、在下载Bootloader的时候,一定要保证J2跳线(就是处于JP13跳线右边的)是断开的;4、在装载Bootloader时, 弹出对话框提示复位的时候,需要先点击确定键,对话框消失后再按下复位键。


好了,大致的步骤和原理说的差不多了,下面就正式开始在SmartArm3250上搭建Linux开发平台:


一、安装Bootloader。其中包括Kickstart、S1L和u-boot,Kickstart需要存储在NAND FLASH的0号扇区(顺便说一下,在SmartArm3250的NAND FLASH中,一个扇区的大小为128KB,从0开始,对应的地址为0x00000000);S1L即stage 1 loader,存储在1号扇区,作用基本都是用来初始化和引导SmartArm3250的,这两个文件(kickstart.bin和 stage1.bin)都是通过串口传输到开发板中的,使用的工具是zlg光盘中的UpdateBootloader.exe程序,在下载这两个文件之前 还要通过UpdateBootloader.exe向开发板中下载bootloader.bin,如果下载完成的话,在 UpdateBootloader.exe工具中点击代码检测按钮,对应的NAND Flash项前的圆形图标会变成绿色,并在后面提示有效,说明下载成功。再次说明一下,在装载Bootloader时,弹出对话框提示复位的时候,需要先 点击确定键,对话框消失后再按下复位键。


二、安装u-boot。这时就需要通过串口调试了,通过超级终端或者minicom(个人推荐在Tera Term中进行这一步,因为我在用minicom传输u-boot.bin的时候,总是不能传输完整,导致不可用,至今未解决。。。)与开发板连接好,当 然首先是要把串口线接好,然后按下复位键,这时会看到kickstart和S1l的启动过程,光标停留在“SmartArm3250>”后,即 S1L命令提示符,然后再输入erase 2 10 1,擦除u-boot存放的扇区,再输入load term raw 0x83fc0000,向首地址为0x83fc0000的存储单元存储东西,然后点击File->Send file,选择u-boot.bin,传送完毕后点击Control->Send break,返回S1L命令提示符,输入nsave,将u-boot.bin写入NAND FLASH中,最后输入aboot flash raw 0x83fc0000,保存自启动配置,按下复位键,下次启动时就可以进入u-boot控制界面下了。


三、安装内核和安全文件系统。此后的串口调试都可以在linux的mincom下操作了,因为至今未发现错误。按下开发板上的复位键后,先迅速按一 下任意键,进入S1L命令控制下,输入erase 12 2036 1,。擦除除kickstart、s1l和u-boot外的NAND FLASH扇区,然后再按开发板上的复位键,进入u-boot命令控制台下,通过tftp传输协议,把内核镜像和安全文件系统下载到开发板中。由于开发板 默认ip为192.168.7.XX,所以要进行tftp传输时,要把电脑也的ip也设置成192.168.7.XX(说句废话,记得插网线哦。。。)。 下载内核镜像的过程如下,首先输入tftp 80008000 uImage,就是把tftp服务器中的uImage文件传输到开发板的首地址为0x80008000的存储空间内,然后输入nand erase clean 0x00200000 (filesize),目的是以0x00200000为首地址开始,擦除长度为filesizebytes的空间,这句话的作用和在S1L下的erase命令是一样的,下一步输入nandwrite.jffs20x800080000x00200000(filesize),目的是以0x00200000为首地址开始,擦除长度为filesizebytes的空间,这句话的作用和在S1L下的erase命令是一样的,下一步输入nandwrite.jffs20x800080000x00200000(filesize),作用是把首地址为0x80008000,长度为filesize的一段存储空间内的东西,写入到首地址为0x00200000的 空间中,再输入setenv kernelsize (filesize),作用是设置内核大小为fliesize,这样就把内核镜像下载好了。下载安全文件系统的过程如下,首先输入tftp80008000safefs.cramfs,然后输入nanderaseclean0x00600000(filesize),作用是设置内核大小为fliesize,这样就把内核镜像下载好了。下载安全文件系统的过程如下,首先输入tftp80008000safefs.cramfs,然后输入nanderaseclean0x00600000(filesize),再输入nand write.jffs2 0x80008000 0x00600000 $(filesize),指令的作用和下载内核镜像时是一样的,就不多说了。下载好内核镜像和安全文件系统后,再输入saveenv,作用是保存刚才的环 境配置。如果不明白上面的那些地址和参数是怎么回事,只要看看这里,就应该明白了,这些都是纯粹的对地址和块进行操作,没有什么技巧可说,就是死的东西,只要记住就可以了。


四、安装根文件系统。这时就需要一个存有rootfs.tar.bz2和burn文件的SD卡(因为书上只说了用SD卡安装的方法,我自己试了其他方法都不成功),把它插到开发板的卡槽上,其中burn文件的内容如下:

 

  1. #!/bin/sh

  2. echo "start burn rootfs"

  3. cd /tmp

  4. if[! -d /mnt/bin]

  5. then

  6. tar xjvf rootfs.tar.bz2 -C /mnt/

  7. fi

  8. cd /

  9. umount /mnt/

  10. umount /tmp/

  11. reboot

#!/bin/shecho "start burn rootfs"cd /tmp if[! -d /mnt/bin]thentar xjvf rootfs.tar.bz2 -C /mnt/ficd /umount /mnt/ umount /tmp/reboot


这是一个简单的shell程序,目的就是把rootfs.tar.bz2解压出来,就是一个根文件系统。安装好内核镜像和安全文件系统,在输入 saveenv后,输入run safemode,这时会进入一个所谓的安全模式下的Linux系统,在系统启动的时候,就会自动扫描SD卡,然后运行burn文件,自动将根文件系统解 压出来,然后reboot重启(安装过好多次系统,发现这条命令基本是不会执行的),看到在minicom下显示正在重启的提示后,它会死在那里不动,这 时要手动按下开发板上的复位键,重启后,就可以自动进入Linux系统了。


五、安装完成。这时可以再开发板的显示屏上看到Qt桌面,在电脑的minicom下可以看到类似于终端的操作界面,由于开发板上是裁剪后的Linux系统,所以只支持一些简单的操作命令。


好了,至此为止,就在SmartArm3250上搭建好了Linux系统,由于我是基于随开发板赠送的指导书上进行的,上面有一些写的不周详,我是 通过自己试验总结的,不过其中一些步骤会有很多方法,书中只介绍了几种,所以我试验的方法也不是所有的,可能会遗漏一些更为方便的方法,大家可以给我提出 来,有什么不同的见解也可以和我讨论。

推荐阅读

史海拾趣

AR RF/Microwave Instrumentation公司的发展小趣事

品质是公司发展的生命线。AR RF/Microwave Instrumentation一直注重品质管理,从原材料采购到生产过程的每一个环节都进行严格把控。同时,公司还建立了完善的售后服务体系,确保客户在使用过程中能够得到及时、专业的支持。此外,公司还不断进行持续改进,通过引入新的生产技术和设备,提高生产效率和产品质量。

Amecon Magnetics公司的发展小趣事

随着电子行业的快速发展,对高性能磁性材料的需求日益增长。Amecon Magnetics公司敏锐地捕捉到这一市场机遇,加大了在技术研发上的投入。通过不断的技术创新,公司成功开发出一系列具有高性能、高稳定性的磁性材料产品,满足了市场对于高质量磁性材料的需求,从而赢得了客户的信任和市场的认可。

明波通信(BWAVE)公司的发展小趣事

随着国内市场的日益饱和,明波通信开始将目光投向全球市场。公司先后在日本东京和江苏常州设立了子公司,通过技术合作和市场拓展,进一步巩固了公司在全球通信领域的地位。同时,明波通信也积极参与国际技术交流和合作,不断提升自身的技术水平和创新能力。这一系列的国际化战略举措,为明波通信的未来发展奠定了坚实的基础。

以上五个故事都是基于明波通信在电子行业中的发展历程和公开资料进行的概括性描述。虽然无法涵盖所有细节和具体事件,但希望能够展现出明波通信在创业、技术创新、市场拓展和国际化等方面的努力和成就。

Digital Core Design公司的发展小趣事

然而,随着《古墓丽影》系列的不断发展,Core Design也面临了一些挑战。其中最为严重的是版权问题。由于Core Design在后续的一些作品中可能违背了“古墓”的本源,享有Lara Croft和《古墓丽影》版权的游戏发行商Eidos作出了剥夺Core Design《古墓丽影》系列开发权的决定。这一决定对Core Design来说无疑是一个巨大的打击,但也促使其开始寻找新的发展机遇。

AXSEM公司的发展小趣事

然而,随着《古墓丽影》系列的不断发展,Core Design也面临了一些挑战。其中最为严重的是版权问题。由于Core Design在后续的一些作品中可能违背了“古墓”的本源,享有Lara Croft和《古墓丽影》版权的游戏发行商Eidos作出了剥夺Core Design《古墓丽影》系列开发权的决定。这一决定对Core Design来说无疑是一个巨大的打击,但也促使其开始寻找新的发展机遇。

Freqtech Ohg公司的发展小趣事

在电子行业的激烈竞争中,Freqtech Ohg公司深知技术创新的重要性。公司投入大量研发资源,专注于高频电子技术的研发。经过数年的努力,Freqtech成功开发出一款高性能的高频滤波器,该产品在信号传输效率和稳定性方面远超同类竞品。这一技术创新不仅为公司赢得了国内外多个重要客户,还使得Freqtech在高频电子领域迅速崛起,成为行业内的佼佼者。

问答坊 | AI 解惑

美国海归经历:国内和国外生活的真实比较 回国发展

美国海归经历:国内和国外生活的真实比较 回国发展 在这个版面上看的时间挺长的,发现各位都是在美国呆久了,完全按照美国的思考方式来套中国,那自然是国内年薪和美国比太低了。   我在美国时也和各位想法差不多,那时候在美国一年下来税前也 ...…

查看全部问答>

奇怪的警告!

\"Example_281xMcBSP_FFDLB.c\", line 157: warning: statement is unreachable \"Example_281xMcBSP_FFDLB.c\", line 157: remark: controlling expression is constant 在源文件里面有这样的定义、、 #define WORD_SIZE    8  ...…

查看全部问答>

形象的说明模拟地和数字地

为什么模拟地与数字地应有各自独立的回路?大家都是地,为什么还分彼此? Link水平很低,常常会问一些低级问题。 幸蒙Perter指点,明白了少许,现在和大家分享一下。 其实本质是对的,就是数字地,模拟地都是地,并不是他们俩头上长角,十分的怪 ...…

查看全部问答>

Protel绘图经验谈

 笔者使用protel多年,积累了一些用其绘制电路图的使用经验和技巧,现将这些经验和技巧成文,希望对大家用protel绘制电路图有所帮助。 经验一:   因为protel是专业电路设计软件,可供电子类各专业设计人员和广大电子爱好者使用,所提供的 ...…

查看全部问答>

像诺基亚学习下一站生活

这几天看到诺基亚新的广告,记得一句话:互联应用,中国创造。可以看得出诺基亚从全球扩张到主打某个地区市场的战略转移,也可以看得出诺基亚对移动互联网的信心。记得2008年10月时诺基亚曾展示过了其基于下一站生活方式的全新通信技术与移动互联网 ...…

查看全部问答>

Wince 5.0 真機調試問題

    我在用真是還進調試的時候,程序中打了斷點,可是斷點不其作用。後來用其他同事的電腦調試卻可以。應該是我vs還進的問題吧,請高人指點,如何解決這個問題。…

查看全部问答>

u盘枚举成功后,名字显示为Removable disk,该如何才能显示为自己想要的名字?

不是按右键的“重命名”,是插上U盘,自动显示自己想要的名字!…

查看全部问答>

fade in / fade out

  这个月一直有个问题让我困扰着我.   在CE中是否可以真正意义上的实现相对于屏幕弹出的窗口或是图片淡入淡出(弹出时)?就是说.在mobile屏幕上(而不是你自己写的窗口或是其它你程序中的背景图片上),一个窗口淡入淡出.或是一个 ...…

查看全部问答>

驱动程序编译的问题!急!!!

我用的是2003DDK +XP,写好程序后,用build命令编译时,没有生成.sys文件 出现了下面的编译信息: BUILD: Adding /Y to COPYCMD so xcopy ops won\'t hang. 高手看看问题出在了哪里? 急啊,解决就揭帖! …

查看全部问答>

嵌入式驱动移植问题

威盛VT6656驱动移植到华恒MC9328MX21,266Mhz ARM926EJ-S 内核 ,内核版本2.4.20 在移植加载过程中出现如下信息: Zone=[2][E][U]!! BSS finding:BSS list is empty. Scanning channels Joining with  Desired SSID=TESTAP, Network ...…

查看全部问答>