构建Linux下IMX257 开发环境

发布时间:2024-08-14  

  在linux下,我们可以有两种方法来实现:minicom 和 C-kerimit两种方法.

  我刚开始使用的是minicom但是主要的原因是minicom使用的时缺出现乱码,也不知道是怎么回事,折腾了一会儿之后,没办法,就换成了C-kermit,经过实验,它确实是一个强大的软件.

  C-kermit具体的安装方法此处不再介绍,可以在命令行$sudo apt-get install ckermit下载安装,简单点的也可以再linux自带的软件安装中实现.

  安装完毕,接下来就是配置了.

1.配置kermit:

  每个用户的kermit的配置文件在~/.mykermrc,如果这个文件不存在,则kermit会使用/etc/kermit/kermrc文件进行初始化.

  编辑~/.mykermrc使用命令:

  $vim ~/.mykermrc

  输入一下内容:

 

set line /dev/ttyUSB2

set speed 115200

set carrier-watch off

set handshake none

set flow-control none

robust

set file type bin

set file name lit

set rec pack 1000

set send pack 1000

set window 5

c

 

  Ls /dev/tty*  用于查看当前系统串口的编号

3e6b0339609b363c83b81dc20a345e7d_Q9xEyy8N8AAAAAAAAAAAAAUC7Q7Vf8P7wKeP9cVSY2AAAAAElFTkSuQmCC.png

 2.启动运行kermit:

  再系统命令行中输入”kermit”就可以启动并连接到串口(原因是我们前面最后一行有一个c)

  按c或者connect就是连接串口

  按”CTRL + ”再输入"c"就可以返回到kermit界面

  按q 或者quit就是退出kermit界面

  记录日志:

  再kermit正常运行下,按下”CTRL + ”再输入"c",返回到kermit的命令行,输入”log session”就会再当前目录下保存日志为sesion.log.

ff1e4d02c27a374896bcc0e36c6e2d6e_xP8Bpe5tsDzmHlsAAAAASUVORK5CYII=.png

820af3e5863bfae8b3067275d9cc3ecc_fxfwAAAABJRU5ErkJggg==.png

3.安装NFS服务器

sudo apt-get install nfs-kernel-server

sudo apt-get install nfs-common

以上两条命令用于安装NFS服务器,接下来就是配置了.

sudo vim /etc/exports 配置NFS目录

内容:

/nfsroot *(rw,sync,no_root_squash)

/home/study/NFS_HOME *(rw,sync,no_root_squash)

如图所示:


接下来自然就是创建文件夹了,修改文件夹的权限

181df2fbe47a8d6fcbf1d4e414505627_B+Fy70CVWjOcQAAAABJRU5ErkJggg==.png

启动与重启nfs命令:

sudo /etc/init.d/nfs-kernel-server start

sudo /etc/init.d/nfs-kernel-server restart

7df6432456724c504aeac96a5efcbf38_AeyDWsCPuwYnAAAAAElFTkSuQmCC.png

挂载:

sudo mount -t nfs 192.168.31.152:/home/study/NFS_HOME /mnt/nfs -o nolock


01f1083e4b9916ecaa65754dac050bd6_wPdKTAMc1ZIywAAAABJRU5ErkJggg==.png

4.安装tftp服务器


sudo apt-get install tftpd-hpa


配置tftp服务器

sudo vi /etc/default/tftpd-hpa


内容如下:

TFTP_USERNAME='tftp'

TFTP_DIRECTORY='/tftpboot'   #实际应用时可以改成用户指定的目录

TFTP_ADDRESS='0.0.0.0:69'

TFTP_OPTIONS='-l -c -s'


创建文件夹

sudo mkdir /tftpboot

sudo chmod -R 777 /tftpboot

sudo chown -R nobody /tftpboot


启动tftp

sudo service tftpd-hpa start

测试tftp服务器

sudo tftp 192.168.31.152

tftp> get tftpTestFile

tftp> q

86ec69678f3a5a4b0305ca1e221f7126_wEP9CRvhJFdcwAAAABJRU5ErkJggg==.png

 7e873355064b06c9046b202a766fc565_x40BBynmBicAAAAASUVORK5CYII=.png

5.构建交叉编译开发环境

由于我的操作系统为的UBUNTU14.04的64位版本,所以必须安装32为的库.

安装方法:

如果是直接输入sudo apt-get install ia32-libs可能会除错,提示美柚这个库文件.从网上找的解决方法如下所示:

1.dpkg --add-architecture i386


2.apt-get update


3.sudo apt-get install lib32z1-dev


4.the method of the eighth floor

5.sudo apt-get install libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 libasound2:i386 libasound2-plugins:i386 gstreamer0.10-pulseaudio:i386 gstreamer0.10-plugins-base:i386 gstreamer0.10-plugins-good:i386 gstreamer0.10-ffmpeg:i386

6.sudo apt-get install ia32-libs    //这条若还是没用,就不用运行了


7.sudo apt-get install libncurses5-dev  ///安装兼容库,若没有安装,会出错


当然:网上也有一种强制安装的方法:

1。切换到root权限

sudo -i

2。进入apt源列表

cd /etc/apt/sources.list.d

3。添加ubuntu 13.04的源,因为13.10的后续版本废弃了ia32-libs

echo 'deb http://old-releases.ubuntu.com/ubuntu raring main restricted universe multiverse
' > ia32-libs-raring.list

//echo 'deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse' > ia32-libs-raring.list

4更新源并安装ia32-libs

apt-get update

apt-get install ia32-libs

5恢复源

rm ia32-libs-raring.list

apt-get update

 

ubuntu14.04亲测成功:如图所示:

ec21a8fdd17fd71bdac8cee23c1ace34_FKN5+vJJV2IAAAAASUVORK5CYII=.png

9246c304201fb809213bcdab8975156a_wCLa+1qIcEHJgAAAABJRU5ErkJggg==.png

73014e41d6efa0ab1d79cc6b276b7021_TTghupytfRwAAAAASUVORK5CYII=.png

若是还没有用,那就只有自己下载源码包编译安装了.


安装交叉编译工具链

拷贝交叉工具链文件到/tmp下,再根目录下创建文件夹/opt/

执行命令:

sudo tar -jxvf freescale-zlg.tar.bz2 -C /opt/


执行完解压命令后,交叉编译工具链将被安装到“/opt/freescale”目录下。交叉编译器的具体目录是

“/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin”

为了方便使用,还需将该路径添加到 PATH 环境变量中,其方法为:

修改“/etc/profile”文件:

sudo vi /etc/profile

用 vi 编辑器打开“/etc/profile”文件后,在文件末尾增加如下一行内容:

export PATH=$PATH:/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin

输入命令

source /etc/profile 让其生效


如图所示:

image.png

关于错误:


include/linux/mmzone.h:288: error: 'MAX_NR_ZONES' undeclared here (not in a function)

b0e598ffba77458f3eb768223c54564a_DArQj+zTdJoAAAAASUVORK5CYII=.png

其原因是,mmzone.h 是在编译内核时生成的,类似于编译产生的.o文件,

如果你运行'make clean' or 'make distclean',这个文件就会被清除掉(详情查看内核Makefile)。因此,如果再利用此内核源码编译内核模块

而我的内核还没有编译过,自然就出错了,

只要重新make编译一下内核,就可以了

重新编译之后,结果如下:

f5d70ea652d529bdd9c0a95b2b7ad028_AX2KYgrPS7TOAAAAAElFTkSuQmCC.png

如下图所示,成功编译,并且使用 kermit成功连接开发板

23724963d6db8cd8ddde6b806bae04e6_kbqf6iVwGukAAAAASUVORK5CYII=.png






文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>