ubuntu12.04 MX28调试记录

原创 2015年11月19日 10:22:05

对于ubuntu12.04的用户可能会报如下错误:

funbox@funbox-System:/opt/freescale/ltib$ ./ltib 

ltib cannot be run because one or more of the host packages needed to run it
are either missing or out of date or not in ltib's standard path.  Please
install/upgrade these packages on your host.  If you have your own utilities
in non-standard paths, please add an entry into the .ltibrc file for example:

%path_std
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/my/own/exes

Package                Minimum ver   Installed info
-------                -----------   ---------------
zlib                   0             not installed

Died at ./ltib line 1409.
traceback:
 main::host_checks:1409
  main:554


Started: Thu Nov 19 10:11:02 2015
Ended:   Thu Nov 19 10:11:03 2015
Elapsed: 1 seconds

需要执行如下patch-ltib-ubuntu12.04.sh:

#!/usr/bin/env bash

# get the patch tarball and untar it
wget -O ubuntu-ltib-patch.tgz https://community.freescale.com/servlet/JiveServlet/downloadBody/93454-102-3-2834/ubuntu-ltib-patch.tgz
tar -xzvf ubuntu-ltib-patch.tgz

# execute the script which do the patching
ltibDir=`pwd`
cd ubuntu-ltib-patch
./install-patches.sh $ltibDir



1.拷贝L2.6.35_1.1.0_130130_source.tar.gz到/opt/freescale
2.# /opt/freescale
   # tar xvf L2.6.35_1.1.0_130130_source.tar.gz
   # ./L2.6.35_1.1.0_130130_source/install
   # cd ltib
   # ./ltib

执行./ltib时出现如下错误:

funbox@funbox-System:/opt/freescale/ltib$ ./ltib 

I ran the command: sudo -S -l which returned:

[sudo] password for funbox: Sorry, try again.
[sudo] password for funbox: Sorry, try again.
[sudo] password for funbox: Sorry, try again.
sudo: 3 incorrect password attempts

This means you don't have sudo permission to execute rpm commands as root
without a password.  This is needed for this build script to operate correctly.

To configure this, as root using the command "/usr/sbin/visudo",
and add the following line in the User privilege section:

funbox ALL = NOPASSWD: /usr/bin/rpm, /opt/freescale/ltib/usr/bin/rpm

traceback:
 main::check_sudo_setup:2467
  main::host_checks:1413
   main:554


Started: Thu Nov 19 09:15:14 2015
Ended:   Thu Nov 19 09:15:20 2015
Elapsed: 6 seconds


Build Failed

3.解决上述错误
  # sudo vi /etc/sudoers
在最后一行加入,然后保存
funbox ALL=NOPASSWD: /usr/bin/rpm,/opt/freescale/ltib/usr/bin/rpm
注意:funbox是用户名

4.错误解决
  1) compr_lzo.c:31:23: fatal error: lzo/lzo1x.h: No such file or directory
     # sudo apt-get install liblzo2-dev
     # rm /opt/freescale/ltib/usr/src/rpm/BUILD/mtd-utils/ -rf

  2) uuid/uuid.h: No such file or directory

# sudo apt-get install uuid-dev
# rm /opt/freescale/ltib/usr/src/rpm/BUILD/mtd-utils/ -rf

5.此时可以运行./ltib脚本不过此时还遇到了一个问题在编译lxdialog时遇到编译错误明显是ncurses的问题该问题的主要原因是-lncurses选型没有生效,修改如下:

将lkc-1.4-lxdialog.patch里面的3112行的

mconf_LIBS= -lncurses

mconf: $(mconf_OBJ) $(lxdialog_LIB)

             $(CC) $(LDFLAGS) $(mconf_LIBS) $^ -o S@ 

修改为

mconf_LIBS= 

mconf: $(mconf_OBJ) $(lxdialog_LIB)

             $(CC) $(LDFLAGS) $(mconf_LIBS) $^ -o S@ -lncurses

6./opt/freescale/ltib/dist/lfs-5.1/mux_server/mux_server.spec的25行

%{__cc} %{optflags} -lpthread mux_server.c -o mux_server -lpthread
修改为

mux_server.c -o mux_server -lpthread

7.出现Can't touch .host_wait_warning31

# chmod 777 /opt/freescale

# chmod 777 /opt/freescale/ltib

8.解压u-boot,解压出来的文件存放到/opt/freescale/ltib/rpm/BUILD/u-boot-2009.08

# ./ltib -m prep -p u-boot

9.单独编译u-boot

# make CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabi- mx28_evk_config

make CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-none-linux-gnueabi- 

10.编译kernel

./ltib -m scbuild -p kernel

11.imx-bootlets控制GPIO实现点亮LED

# vi boot_prep/init-mx28.c,在int _start(int arg)函数加入

    HW_PINCTRL_MUXSEL3_SET(3 << 2); //PINID_LCD_D17
    HW_PINCTRL_DOE1_SET(1 << 17);
    HW_PINCTRL_DOUT1_SET(1 << 17);

    HW_PINCTRL_MUXSEL3_SET(3 << 4); //PINID_LCD_D18
    HW_PINCTRL_DOE1_SET(1 << 18);
    HW_PINCTRL_DOUT1_SET(1 << 18);

12.生成updater_ivt

MFGTool 烧写 Nand flash 的原理是:使用 USB 将 updater 系统送入 DDR 中启动运行,并通过 USB 发送 ucl.xml 文件中的命令以及 ucl.xml 文件中所指定的 uboot、内核、文件系统等文件到开发板,从而实现将 uboot、内核、文件系统烧写到 Nand Flash 上。而此 updater 系统也是一个精简版的 linux 系统,也需要支持新的 Nand Flash,因此需要重新制作一遍 updater 系统。
关于制作 updater 系统的方法如下:
1.在内核目录下执行 make imx28evk_updater_defconfig;
2.然后执行 make,在 arch/arm/boot 目录下生成 zImage;
3.将 zImage 拷贝到 bootloader/imx-bootlet 工具目录下,执行 build_updater 脚本,即可生
成 updater_ivt.sb 文件,即为 updater 系统。
另外,uboot 也需要执行 Nand Flash 拷贝操作,因此,也需修改其驱动,而 uboot 中的
Nand Flash 驱动与 linux 的完全一样。

# vi /opt/freescale/ltib/rpm/BUILD/imx-bootlets-src-2.6.35.3-1.1.0/linux_prep/board/iMX28_EVK.c

#char cmdline_def[] = "gpmi=g console=ttyAM0,115200 root=ubi0:rootfs rootfstype=ubifs  fec_mac= ethact";




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

安装飞思卡尔freescale的LTIB(linux目标镜像编译工具)过程

最近开始转向freescale imx6平台进行嵌入式开发,这款SoC在工控领域运用很广。 第一篇:安装飞思卡尔freescale的LTIB(linux目标镜像编译工具)过程  刚接触...

LTIB入门介绍,安装使用方法(一)

很久没有写博客了,关键是最近比较烦。在做博创杯的比赛,由于参考资料不多,而且全是英文的(万恶的英文啊),整的一开始方向错了。 浪费了很多时间,所以很长时间没有成果。不过现在还好,原来我们是只无头的苍...

i.MX6 Ubuntu12.04上编译LTIB

  • 2015-06-01 19:26
  • 777KB
  • 下载

i.mx6在Ubuntu12.04上编译ltib

  • 2016-01-19 19:12
  • 649KB
  • 下载

Freescale I.mx 6 Android 4.2.2源码编译环境搭建(基于ubuntu12.04 LTS)

Freescale I.mx 6  Android 4.2.2源码编译环境搭建     1  安装必要的第三方工具: $ sudo apt-get install git gnupg flex bis...

关于MX28T数字舵机的串口通信

讲道理好像能买到的数字舵机通信协议都一毛一样的 之前用了国内春雨的SR516 然后现在换成韩国的那啥robotics还是啥的MX28T 数据包结构甚至控制地址都一毛一样就直接拿原来自己造好的轮子来用了...

天嵌E9卡片i.mx6q-Linux12.04搭建nfs环境以及从nfs启动开发板

最近导师丢了一个图像处理的项目,要用嵌入式来实现。于是买了一块天嵌近期推出的E9卡片i.mx6q板子,这款板子算是功能比较全面,基本上要用的驱动都给实现了。刚开始接触嵌入式,之前也没用过Linux系统...

安装:Ubuntu12.04+Python3+Django1.7.9过程记录

1.ubuntu12.04中已经自带了python2.所以当安装python3后,两者共存.而Django和Python的版本配合是有要求的如下图所示: What Python version ca...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)