差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

myd-sam9x5:linux系统指南 [2014-04-04 10:36]
gary [4.10.2 从源代码交叉编译Qt开发环境]
myd-sam9x5:linux系统指南 [2014-04-04 10:45] (当前版本)
gary
行 251: 行 251:
 <code bash> <code bash>
 $ cd 05-Linux_Source/​Linux_Kernel/​ $ cd 05-Linux_Source/​Linux_Kernel/​
-$ tar xvjf linux-2.6.39.tar.bz2 ​ -C  ./+$ tar xvjf linux-2.6.39.tar.bz2 -C ./
 $ cd linux-2.6.39/​ $ cd linux-2.6.39/​
 </​code>​ </​code>​
行 339: 行 339:
 <code bash> <code bash>
 $ ls /dev/mtd* $ ls /dev/mtd*
-/​dev/​mtd0 ​ /dev/mtd0ro+/dev/mtd0 /dev/mtd0ro
 </​code>​ </​code>​
  
行 371: 行 371:
 通过以下命令进行挂载: 通过以下命令进行挂载:
 <code bash> <code bash>
-$ sudo  mount -t ubifs ubi0_0 fsmount/+$ sudo mount -t ubifs ubi0_0 fsmount/
 $ ls fsmount/ ​ $ ls fsmount/ ​
 bin  boot  dev  etc  home  lib  media  mnt  proc  sbin  sys  tmp  usr  var bin  boot  dev  etc  home  lib  media  mnt  proc  sbin  sys  tmp  usr  var
行 616: 行 616:
 (2)通过超级终端,为开发板配置一个不被当前局域网其他设备占用的IP地址,本例中使用地址为:192.168.0.2: (2)通过超级终端,为开发板配置一个不被当前局域网其他设备占用的IP地址,本例中使用地址为:192.168.0.2:
 <code bash> <code bash>
-root@at91sam9x5ek:/​$ ifconfig ​ eth0  192.168.0.2 ​ up+root@at91sam9x5ek:/​$ ifconfig eth0 192.168.0.2 up
 </​code>​ </​code>​
  
行 648: 行 648:
 设置192.168.0.1为默认网关: 设置192.168.0.1为默认网关:
 <code bash> <code bash>
-root@at91sam9x5ek:/​ $ route  add  default ​ gw  192.168.0.1+root@at91sam9x5ek:/​ $ route add  default ​ gw  192.168.0.1
 </​code>​ </​code>​
 测试与202.112.17.137的连接: 测试与202.112.17.137的连接:
行 660: 行 660:
 (3)使用telnet访问BBS论坛: (3)使用telnet访问BBS论坛:
 <code bash> <code bash>
-root@at91sam9x5ek:/​media$ telnet ​ 202.112.17.137+root@at91sam9x5ek:/​media$ telnet 202.112.17.137
  
 华南木棉BBS 最近 (1,10,15) 分钟平均负荷为 0.00 0.00 0.00  [负荷正常] 华南木棉BBS 最近 (1,10,15) 分钟平均负荷为 0.00 0.00 0.00  [负荷正常]
行 751: 行 751:
 <code bash> <code bash>
 $ cd linux-2.6.39 $ cd linux-2.6.39
-$ vi  drivers/​char/​ledtest.c ​+$ vi drivers/​char/​ledtest.c ​
 </​code>​ </​code>​
  
行 931: 行 931:
 (2)将驱动配置成模块形式进行编译: (2)将驱动配置成模块形式进行编译:
 <code bash> <code bash>
-$ make  ARCH=arm ​ menuconfig+$ make ARCH=arm menuconfig
 </​code>​ </​code>​
 在弹出的配置表中选 ​   Device Drivers ​ ---> Character devices ​ ---> <M> ledtest for MYD-SAM9X5,然后按下PC键盘上的M表示以模块形式编译。具体操作截图如图4-16、图4-17、图4-18所示: 在弹出的配置表中选 ​   Device Drivers ​ ---> Character devices ​ ---> <M> ledtest for MYD-SAM9X5,然后按下PC键盘上的M表示以模块形式编译。具体操作截图如图4-16、图4-17、图4-18所示:
行 947: 行 947:
 操作如下所示: 操作如下所示:
 <code bash> <code bash>
-$ touch  drivers/​char/​ledtest.c +$ touch drivers/​char/​ledtest.c 
-$ make  ARCH=arm modules CROSS_COMPILE=/​usr/​local/​arm-2010q1/​bin/​arm-none-linux-gnueabi-+$ make ARCH=arm modules CROSS_COMPILE=/​usr/​local/​arm-2010q1/​bin/​arm-none-linux-gnueabi-
 </​code>​ </​code>​
 编译完成后将在drivers/​char/​目录下生成驱动文件ledtest.ko。 编译完成后将在drivers/​char/​目录下生成驱动文件ledtest.ko。
行 958: 行 958:
 (1)取消开发板上其它驱动对两个测试LED灯的触发 (1)取消开发板上其它驱动对两个测试LED灯的触发
 <code bash> <code bash>
-root@at91sam9x5ek:/​$ cd  /​sys/​class/​leds/​d1 +root@at91sam9x5ek:/​$ cd /​sys/​class/​leds/​d1 
-root@at91sam9x5ek:/​sys/​class/​leds/​d1$ echo  none   trigger +root@at91sam9x5ek:/​sys/​class/​leds/​d1$ echo none > trigger 
-root@at91sam9x5ek:/​sys/​class/​leds/​d1$ cd  ../d2 +root@at91sam9x5ek:/​sys/​class/​leds/​d1$ cd ../d2 
-root@at91sam9x5ek:/​sys/​class/​leds/​d2$ echo  none   trigger+root@at91sam9x5ek:/​sys/​class/​leds/​d2$ echo none > trigger
 </​code>​ </​code>​
  
 (2)将驱动模块加载到内核 (2)将驱动模块加载到内核
 <code bash> <code bash>
-root@at91sam9x5ek:/​$ cd  /​media/​sda4/​MYD-SAM9X5+root@at91sam9x5ek:/​$ cd /​media/​sda4/​MYD-SAM9X5
 root@at91sam9x5ek:/​$ ls root@at91sam9x5ek:/​$ ls
 ledtest.ko ​  ​ledtest_app ledtest.ko ​  ​ledtest_app
行 1041: 行 1041:
 完成编译之后,将生成的可执行文件ledtest_app通过SD卡或U盘拷到开发板上,然后在终端上运行该文件。在运行应用程序的时候需要传递两个参数,该参数用于控制两个LED灯的亮灭,其中第一个参数为控制LED灯的亮灭(”0”为ON,”1”为OFF)。第二个参数为对哪个LED灯进行控制(”0”为blue led,”1”为red led),具体操作如下: 完成编译之后,将生成的可执行文件ledtest_app通过SD卡或U盘拷到开发板上,然后在终端上运行该文件。在运行应用程序的时候需要传递两个参数,该参数用于控制两个LED灯的亮灭,其中第一个参数为控制LED灯的亮灭(”0”为ON,”1”为OFF)。第二个参数为对哪个LED灯进行控制(”0”为blue led,”1”为red led),具体操作如下:
 <code bash> <code bash>
-root@at91sam9x5ek:​~$ /​media/​sda4/​ledtest_app 1  0+root@at91sam9x5ek:​~$ /​media/​sda4/​ledtest_app 1 0
 MYD-SAM9X5-ledtest Driver Open Called! MYD-SAM9X5-ledtest Driver Open Called!
 MYD_SAM9X5_LED Driver Release Called! MYD_SAM9X5_LED Driver Release Called!
行 1111: 行 1111:
 建立Qt工作目录qt-arm,拷贝Qt交叉编译工具到该目录并解压: 建立Qt工作目录qt-arm,拷贝Qt交叉编译工具到该目录并解压:
 <code bash> <code bash>
-$ cd  ~+$ cd ~
 $ mkdir qt-arm $ mkdir qt-arm
 $ cd qt-arm $ cd qt-arm
 $ cp /​media/​cdrom/​05-Linux_Source/​Qt_Arm/​Qt-4.5.3_Tslib-1.4.tar.gz ./ $ cp /​media/​cdrom/​05-Linux_Source/​Qt_Arm/​Qt-4.5.3_Tslib-1.4.tar.gz ./
-$ sudo tar  xvzf  Qt-4.5.3_Tslib-1.4.tar.gz ​ -C  /usr/local/+$ sudo tar xvzf  Qt-4.5.3_Tslib-1.4.tar.gz -C /usr/local/
 </​code>​ </​code>​
 解压完成后,/​usr/​local目录下会多出两个目录:Qt和tslib,其中Qt 目录包含交叉编译Qt程序时用到的工具、库和头文件等;tslib目录包含触摸屏测试程序、触摸时所用到的链接库、配置文件等。 解压完成后,/​usr/​local目录下会多出两个目录:Qt和tslib,其中Qt 目录包含交叉编译Qt程序时用到的工具、库和头文件等;tslib目录包含触摸屏测试程序、触摸时所用到的链接库、配置文件等。
行 1153: 行 1153:
 $ cd ~/qt-arm $ cd ~/qt-arm
 $ cp /​media/​cdrom/​05-Linux_Source/​Qt_Arm/​Qt_Examples/​masterdetail.tar.gz ./ $ cp /​media/​cdrom/​05-Linux_Source/​Qt_Arm/​Qt_Examples/​masterdetail.tar.gz ./
-$ tar xvzf  masterdetail.tar.gz+$ tar xvzf masterdetail.tar.gz
 $ cd masterdetail $ cd masterdetail
 </​code>​ </​code>​
行 1167: 行 1167:
 $ ls $ ls
 masterdetail masterdetail
-$ chmod  0777 masterdetail+$ chmod 0777 masterdetail
 $ ./​masterdetail -qws $ ./​masterdetail -qws
 </​code>​ </​code>​
行 1232: 行 1232:
 <code bash> <code bash>
 $ cp /​media/​cdrom/​05-Linux_Source/​qt-embedded-linux-opensource-src-4.5.3.tar.gz ./ $ cp /​media/​cdrom/​05-Linux_Source/​qt-embedded-linux-opensource-src-4.5.3.tar.gz ./
-$ tar xvzf  qt-embedded-linux-opensource-src-4.5.3.tar.gz+$ tar xvzf qt-embedded-linux-opensource-src-4.5.3.tar.gz
 $ cd qt-embedded-linux-opensource-src-4.5.3 $ cd qt-embedded-linux-opensource-src-4.5.3
 </​code>​ </​code>​
打印/导出