tag 标签: at91sam9x35

相关博文
  • 热度 18
    2013-7-3 14:54
    4079 次阅读|
    0 个评论
        花了一个月时间,又重新设计了一款AT91SAM9X35的板子。针对第一版做了以下改进。   1 200PIN1.27MM的双排插针换成了更可靠的BTB-80 插针     2 引出了所有地址线,数据线和其它IO     3 对布线进行了全面优化,保证板子运行更稳定。     4 更改一些价格比较高的芯片,换成低成本芯片。         花两天时间焊好板子,调试过程中的问题心得:     1 首先是串口收不到数据,开始以为是芯片问题,后来对比两版的原理图发现,此版取消了串口芯片的使能插座,导致CAN的芯片使能浮空,影响串口接收。用0欧电阻接地后一切OK.     2 DDR2芯片初始化失败,仔细查看电路,发现数据线排阻有两个管脚短路,去除后,DDR2稳定工作。     3 NANDFLASH 初始化导致SAM-BA死掉。重新排查排阻,解决短路虚焊后,问题解决。     刷入U-BOOT, 内核,Angstrom文件系统后,液晶屏显示完全OK,挂机三天整个系统稳定运行。     4 解决触摸屏触摸不准的问题,折腾两天后,原来是X使用了Xorg 引起的。拷贝光盘里自带的 xorg.conf, 再运行 ts_calibrate 问题解决。       再次牢骚一句,要不是偶然看到GOOGLE上面搜出来的一段文字提醒了我,估计还得折腾几天,结果打开那篇文章却链接不上,最后让朋友通过翻墙软件才打开一睹全貌! 在这个神奇的国度,难道非得翻墙吗??   5  增加无线网卡支持。     root@at91sam9x5ek:~# vi /etc/wpa_supplicant.conf 增加:  network={                                                                               ssid="singlechip-home"                                                          psk="××××××"                                             }        root@at91sam9x5ek:~# iwlist wlan0 scan     Cell 03 - Address: 38:83:45:AF:F9:3E                     Channel:6                     Frequency:2.437 GHz (Channel 6)                     Quality=26/70  Signal level=-84 dBm                       Encryption key:on                     ESSID:"singlechip-home"                     Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s                               9 Mb/s; 12 Mb/s; 18 Mb/s                     Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s                     Mode:Master                     Extra:tsf=0000000070463872                     Extra: Last beacon: 450ms ago                     IE: Unknown: 000F73696E676C65636869702D686F6D65                     IE: Unknown: 010882848B960C121824                     IE: Unknown: 030106                     IE: Unknown: 0706555320010D14                     IE: Unknown: 2A0100                     IE: IEEE 802.11i/WPA2 Version 1                         Group Cipher : CCMP                         Pairwise Ciphers (1) : CCMP                         Authentication Suites (1) : PSK                     IE: Unknown: 32043048606C                     IE: Unknown: 2D1A6E1003FF00000000000000000000000000000000000000000000                     IE: Unknown: 331A6E1003FF00000000000000000000000000000000000000000000                     IE: Unknown: 3D16060D0200000000000000000000000000000000000000                     IE: Unknown: 3416060D0200000000000000000000000000000000000000                     IE: Unknown: DD180050F2020101030003A4000027A4000042435E0062322F00                     IE: Unknown: DD0900037F01010000FF7F                     IE: Unknown: DD8A0050F204104A0001101044000102103B0001031047001000000000000010000000388345AFF93E1021000754502D4C494E4B1023000E544C2D57523734314E2F3734324E10240003312E3010420003312E301054000800060050F20400011011001D576972656C657373204E20526F757465722057523734314E2F3734324E100800020086103C000101     root@at91sam9x5ek:~# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf root@at91sam9x5ek:~# ifconfig wlan0 192.168.1.3 root@at91sam9x5ek:~# route add default gw 192.168.1.1 dev wlan0   root@at91sam9x5ek:~# route Kernel IP routing table Destination     Gateway         Genmask         Flags Metric Ref    Use Iface default         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0 169.254.0.0     *               255.255.0.0     U     0      0        0 eth0 192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0   root@at91sam9x5ek:~# ifconfig wlan0 wlan0     Link encap:Ethernet  HWaddr 14:E6:E4:21:C1:11             inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1           RX packets:4816 errors:0 dropped:193 overruns:0 frame:0           TX packets:4735 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:1000            RX bytes:3177476 (3.0 MiB)  TX bytes:4782029 (4.5 MiB)     root@at91sam9x5ek:~# ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes 64 bytes from 192.168.1.1: seq=59 ttl=64 time=1042.249 ms 64 bytes from 192.168.1.1: seq=60 ttl=64 time=42.918 ms 64 bytes from 192.168.1.1: seq=61 ttl=64 time=28.599 ms 64 bytes from 192.168.1.1: seq=62 ttl=64 time=37.782 ms 64 bytes from 192.168.1.1: seq=65 ttl=64 time=117.674 ms      从PC传输文件到板子速度为300KB 从板子上传文件到PC速度为600KB   5  下一步增加USB摄像头。。。。。                     6 花了几个小时移植好了网络摄像头   主要遇到的问题就是编译生成的input_uvc.so output_http.so 为X86的,结果导致程序无法运行   root@at91sam9x5ek:/mjpg-streamer# ./mjpg_streamer -i "/mjpg_streamer/input_uvc.s o -d /dev/video2" -o "/mjpg_streamer/output_http.so -w /www" MJPG Streamer Version: svn rev: exported ERROR: could not find input plugin        Perhaps you want to adjust the search path with:        # export LD_LIBRARY_PATH=/path/to/plugin/folder        dlopen: /mjpg_streamer/input_uvc.so: cannot open shared object file: No s uch file or directory 折腾半天后,重新更改Makefile 问题解决。   root@at91sam9x5ek:/mjpg_streamer# ./mjpg_streamer -i "/mjpg_streamer/input_uvc.s o -d /dev/video1" -o "/mjpg_streamer/output_http.so -w /www" MJPG Streamer Version: svn rev: exported  i: Using V4L2 device.: /dev/video1  i: Desired Resolution: 640 x 480  i: Frames Per Second.: 5  i: Format............: MJPEG Adding control for Pan (relative) UVCIOC_CTRL_ADD - Error: Invalid argument Adding control for Tilt (relative) UVCIOC_CTRL_ADD - Error: Invalid argument Adding control for Pan Reset UVCIOC_CTRL_ADD - Error: Invalid argument Adding control for Tilt Reset UVCIOC_CTRL_ADD - Error: Invalid argument Adding control for Pan/tilt Reset UVCIOC_CTRL_ADD - Error: Invalid argument Adding control for Focus (absolute) UVCIOC_CTRL_ADD - Error: Invalid argument mapping control for Pan (relative) UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for Tilt (relative) UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for Pan Reset UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for Tilt Reset UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for Pan/tilt Reset UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for Focus (absolute) UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for LED1 Mode UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for LED1 Frequency UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for Disable video processing UVCIOC_CTRL_MAP - Error: Invalid argument mapping control for Raw bits per pixel UVCIOC_CTRL_MAP - Error: Invalid argument  o: www-folder-path...: /www/  o: HTTP TCP port.....: 8080  o: username:password.: disabled  o: commands..........: enabled zc3xx: probe 2wr ov vga 0x0000   用浏览器登录   http://192.168.1.3:8080/?action=stream                
  • 热度 36
    2013-4-25 09:48
    11537 次阅读|
    18 个评论
      1月15号从零开始设计原理图,到今天4月15号,刚好3个月,终于用4层板设计完成了AT91SAM9X35核心板+底板的全部工作,自己焊板花了三四天时间,调试板子花了两天时间,当看着串口打印出LIUNX的启动信息时,一切辛苦都是值得的。后面我会写一些此次设计过程中遇到的一些问题,以及解决的方法,希望对有需要的朋友有些提示,避免一些弯路。 先上几张板子的图片,马上会对板子的稳定性进行测试。。。。。          总的来说,此次做板还是蛮顺利的。 1 画板上用的DC9插座是别人做好的库,而它用的是异形焊盘,当时发出去做板的时候还特意提醒了厂家这里是否需要提供走刀文件,结果板子回来这里还是没给我开孔,导致底板有点瑕疵。 2 RJ45带隔离变压器的插座,居然接口定义每个厂家不一样。焊上去DM9161短路发烫。结果从别人的开发板上拆了一个现成的焊上去,幸好没把芯片给烧了,系统跑起来,网络一切正常! 3 此次开板,PCB板厂估计是工艺达不够,把我的做板标准一降再降,最无语的是把我做成镀金的,BGA部分比较难焊。幸好之前有过焊接S3C2440A的经验,目前系统能正常跑起来,说明CPU和DDR 这两块BGA焊接没问题。 4 100PIN 1.27的插座真的蛮麻烦的,尤其是拆卸,差点导致我重新再焊一块底板的。     第一次焊上去时,不知为什么,有一排插座的USB  串口等管脚不通,最终锁定到插座这里。     这里告诉大家一个我自己摸索的重新焊接排插的方法,当排插焊下来后,要重新焊上去,大部分焊盘已经塞满了锡,此时最好用热风*+锡*去除,一次能吸通好几个焊盘,而且不容易把焊盘弄脱落,至少我用电烙铁去时,一不小心就会废一个焊盘。   1 对MMC和 SD卡 测试OK sd 1:0:0:1: Write Protect is off sd 1:0:0:1: Assuming drive cache: write through  sdb: sd 1:0:0:1: Assuming drive cache: write through sdc: detected capacity change from 0 to 522190848 sd 1:0:0:0: Assuming drive cache: write through sd 1:0:0:0: Attached SCSI removable disk  sdc: sd 1:0:0:1: Assuming drive cache: write through sd 1:0:0:1: Attached SCSI removable disk 2 对3个USB端口测试OK root@at91sam9x5ek:/media# usb 1-2: USB disconnect, device number 5 usb 1-2: new high speed USB device number 6 using atmel-ehci scsi4 : usb-storage 1-2:1.0 scsi 4:0:0:0: Direct-Access     Udisk    Udisk 2.0        2.60 PQ: 0 ANSI: 2 scsi 4:0:0:1: Direct-Access     Udisk    Udisk 2.0        2.61 PQ: 0 ANSI: 2 sd 4:0:0:0: 16384 512-byte logical blocks: (8.38 MB/8.00 MiB) sd 4:0:0:0: Write Protect is off   3 对声卡进行测试时,直接用  cat test.wav /dev/audio 发现声音很小,噪音却非常大,开始怀疑是自己电路设计问题,折腾半天没找出问题。 干脆将以前移植过的MAPLAY 放上去播放MP3试试,结果一次成功,音质非常好!! root@at91sam9x5ek:/media# ./sda/madplay  ./sdb/love.mp3 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.           Title: 偏爱          Artist: 张芸京           Album: 破天荒    4 至此仅剩液晶屏和触摸屏没调试了。明天开始把LCD的板子画好发出去做,应该不会有什么大问题。   后面几天,准备每个晚上将板子一直循环播放MP3,通过以太网打样任务信息等来测试内存,以太网,USB, 等功能,先这样做些最基础的稳定性测 试。。。。。。。。。。。。。。。。。   ///////////////////2013.04.16  从测试到现在,不知为何偶尔开机都会有死机问题,问题表现在UBOOT加载到内存后,就死掉。刚开始以为是自己板子不稳定导致的,但想想连续跑几个小时都没出现过问题,如果是布线问题导致系统不稳定,那么运行过程中也会发生死机现象才对,于是判定是DDR存在问题。用热风*把芯片重新加热了一下,每次开机一切正常,不会出现卡机现象了!   //////////////////////////2013.04.17 连续跑机两天两夜,未发现系统异常,继续跑机测试。。。。。 今天把液晶屏转接板发出去做板了,估计也得下周一才能焊好。 这两天打算用BUILDROOT 构建根文件系统,因为之前没用过,所以估计会遇到些麻烦。。。。。。  ////////////////////////////////2013.04.19  昨天折腾了一天,自己用buildroot 编译好了内核,根文件系统后,烧入板子,结果老是在加载内核解压时,提示内核校验错误。用以前的内核也一样的结果。   为此怀疑NANDFLASH有问题?但从TFTP传到内存中运行的内核也一样的错误。   慢慢怀疑是否是DDR2这颗芯片布线不稳定导致的?用内存测试工具没发现任何异常,加载内核到不同的内存地址,进行比较也未发现不同。而且前面几天连续测试系统也未发现内存不稳定。下班回家,准备换片NANDFLASH,因为加载内核时,老是提示位校验出错。但想想应该不是这里的问题,所有问题都汇集到了CPU?CPU能跑U-BOOT应该不会有问题,那会不会是CPU有的管脚出现松动?管他三七二十一,拿着热风*对CPU加焊,第一次加热后连BOOT也运行不起来。第二次又加热(大不了坏了我重新焊一块板子)。结果这次加热后,所有今天遇到的问题都解决了。系统运行正常。 (自己手工焊接的BGA,可靠性还是有所欠缺的。在后续的调试中会给你带来不少麻烦) 内核跑起来后,加载UBI出错,发现是找不到NANDFLASH,比较编译的内核和以前的内核打印的信息发现 AT91: CM rev B and higher AT91: EK rev B and higher 而现在打印的却是 AT91: CM rev A AT91: EK rev  A 为此又是寻根究源,修改内核源码 #define cm_is_revA()  (0)//(cm_rev() == 0) #define cm_is_revB()  (1)//(cm_rev() == ('B' - 'A')) #define ek_is_revA()  (0)//(ek_rev() == 0) #define ek_is_revB()  (1)//(ek_rev() == ('B' - 'A')) 成功发现 NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bi t)   但UBI却提示出错 Creating 2 MTD partitions on "atmel_nand": 0x000000000000-0x000000800000 : "bootstrap/uboot/kernel" 0x000000800000-0x000010000000 : "rootfs" UBI: attaching mtd1 to ubi0 UBI: physical eraseblock size:   131072 bytes (128 KiB) UBI: logical eraseblock size:    126976 bytes UBI: smallest flash I/O unit:    2048 UBI: VID header offset:          2048 (aligned 2048) UBI: data offset:                4096 UBI error: process_eb: bad image sequence number 在网上折腾了半天,有提到可能是根文件擦除时,未完全擦除,于是马上重新烧写rootfs.ubi 经过刷刷的一对信息,终于进入了根文件系统,系统跑起来了!! Starting portmap: done Initializing random number generator... done. ALSA: Restoring mixer settings... Starting network... Starting dropbear sshd: generating rsa key... generating dsa key... OK Welcome to Buildroot AT91SAM9 login: root # cd / # ls bin      etc      lib      mnt      proc     sbin     tmp      var dev      home     linuxrc  opt      root     sys      usr 来上一首 MUISC 庆祝下。。。 # mount -t auto /dev/sdb /mnt # madplay ask.mp3 MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.           Title: 答应不爱你          Artist: 郑中基           Album: 仙三电视原声带           Track: 5         Comment: 插曲 7798 frames decoded (0:03:23.7), +1.2 dB peak amplitude, 2214 clipped samples   ////////////////2013.04.22 LCD液晶屏成功点亮,目前正在移植Openembedded环境下的Angstrom,遇到不少问题,继续努力中。。。。。。。。。。。       //////////////////2013.04.25 花了几天时间,终于自己编译的Angstrom成功运行起来,当中出现了不少编译问题,有时即便是别人已经移植好的包给你,但要把它转化为适合自己的开发环境中,要解决的问题也是不少的!!!       .---O---. |       |                  .-.           o o |   |   |-----.-----.-----.| |   .----..-----.-----. |       |     | __  |  ---'| '--.|  .-'|     |     | |   |   |  |  |     |---  ||  --'|  |  |  '  | | | | '---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'                 -'  |                 '---'   The Angstrom Distribution at91sam9x5ek ttyS0   Angstrom v2013.04 at91sam9x5ek ttyS0   at91sam9x5ek login: root root@at91sam9x5ek:~#          
  • 热度 19
    2012-11-9 21:39
    980 次阅读|
    0 个评论
        MDK9X5开发板应用程序演示1:LED控制   基于配7寸屏的MDK9X35和MDK9G35开发板    by Mcuzone