Инструменты пользователя

Инструменты сайта


equipment:oea-euro-miss:em5

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
equipment:oea-euro-miss:em5 [2014/11/07 10:55]
sergey
equipment:oea-euro-miss:em5 [2025/03/27 21:34] (текущий)
ryzhikov
Строка 1: Строка 1:
-====== Контроллер ​ЕМ5 ======+====== ​ЕМ-5 ​Контроллер ======
  
  
Строка 5: Строка 5:
  
 com:  38400 8N1 com:  38400 8N1
 +
 +  miniterm /​dev/​ttyUSB0 38400 --raw
 +
  
 <​code>​ <​code>​
 0x00000000 : "​Bootloader"​ 0x00000000 : "​Bootloader"​
 0x00020000 : "​Kernel"​ 0x00020000 : "​Kernel"​
-0x00200000 ​: "​Filesystem"​+0x00220000 ​: "​Filesystem"​
  
 </​code>​ </​code>​
Строка 33: Строка 36:
 </​file>​ </​file>​
  
-==== Параметры uboot ====+=== Компиляция ​=== 
 +Исходные коды Buildroot и Linux собираются в виртуальной машине em5-dev. 
 + 
 +В домашней папке есть директории buildroot/ (ссылка на buildroot2013-5) и linuxdir/ (ссылка на buildroot/​output/​build/​linux...). 
 + 
 +Конфиг buildroot лежит в директории configs/ в домашней папке пользователя. Обратите внимание,​ что Linux собирается вемсте с buildroot (чтобы автоматом применились патчи).  
 + 
 +Путь к конфигу Linux прописан в конфиге buildroot. Там же прописана директория с патчами, которые нужно применить к исходному коду Linux и директория,​ в которой искать скачанные файлы пакетов (вероятно,​ URL многих из них через 15 лет "​протухнут",​ так что берегите эти файлы).  
 + 
 +Для редактирования конфига используется команда make-menuconfig или make-gconfig. 
 + 
 +Конфиг busybox -- `make busybox-menuconfig`. 
 + 
 +Сборка ядра -- `make linux-rebuild`, ​uboot -- `make uboot-rebuild`. ​  
 + 
 +Артефакты сборки Buildroot лежат в output/​images:​ zImage, rootfs.tar (+rootfs.jffs) и u-boot.bin.  
 +Их нужно залить на флеш-память контроллера. Для сбойных флешек рекомендуется заливать не образ jffs, а создавать пустую jffs, после чего распаковывать в неё файлы из rootfs.tar. 
 + 
 +Когда создается rootfs, поверх неё копируется содержимое директории em5_rootfs_overlay. 
 +Именно в неё нужно добавлять свои файлы, чтобы они в конечном итоге оказались в образе файловой системы. 
 + 
 + 
 + 
 + 
 +=== Параметры uboot ===
  
 <​code>​ <​code>​
Строка 49: Строка 76:
 setenv hostname pandapc01 setenv hostname pandapc01
 setenv bootargs_nfs root=/​dev/​nfs rw nfsroot=\$(serverip):​\$(nfspath),​rsize=1024,​wsize=1024 ip=\$(ipaddr):::​\$(netmask):​\$(hostname) debug console=ttyS0,​\$(baudrate) nfsrootdebug setenv bootargs_nfs root=/​dev/​nfs rw nfsroot=\$(serverip):​\$(nfspath),​rsize=1024,​wsize=1024 ip=\$(ipaddr):::​\$(netmask):​\$(hostname) debug console=ttyS0,​\$(baudrate) nfsrootdebug
 +setenv bootargs_flash root=/​dev/​mtdblock2 rootfstype=jffs2 console=ttyS0,​38400
 +
 +#256bit controller:
 +setenv bootargs_flash root=/​dev/​mtdblock2 rootfstype=jffs2 console=ttyS0,​38400 mem=128M@0xA0000000
 +setenv bootargs_nfs root=/​dev/​nfs rw nfsroot=\$(serverip):​\$(nfspath),​rsize=1024,​wsize=1024 ip=\$(ipaddr):::​\$(netmask):​\$(hostname) debug console=ttyS0,​\$(baudrate) ​ mem=128M@0xA0000000
 +
 setenv bootcmd_nfs tftpboot zImage\\;​wtags\\;​go setenv bootcmd_nfs tftpboot zImage\\;​wtags\\;​go
 setenv bootcmd_flash cp.b 20000 \$(fileaddr) \$(filesize)\\;​wtags\\;​go setenv bootcmd_flash cp.b 20000 \$(fileaddr) \$(filesize)\\;​wtags\\;​go
-setenv bootargs_flash root=/​dev/​mtdblock2 rootfstype=jffs2 console=ttyS0,​38400+
  
 printenv printenv
Строка 68: Строка 101:
 wtags wtags
 go go
-</​code>​ 
- 
-Flash kernel image. 
-<​code>​ 
-tftpboot zImage1 
-erase 1:4-13 
-или 
-erase 1:4-17 
-cp.b $(fileaddr) 20000 $(filesize) 
-reset 
 </​code>​ </​code>​
  
 Flash filesystem image. Flash filesystem image.
 <​code>​ <​code>​
-tftpboot ​rootfs1.jffs2+tftpboot ​rootfs.jffs2
 # По неведомой причине (особенности jffs?) стирать нужно до конца. # По неведомой причине (особенности jffs?) стирать нужно до конца.
-erase 1:14- 
-cp.b $(fileaddr) 160000 $(filesize) 
-или 
 erase 1:18- erase 1:18-
 cp.b $(fileaddr) 220000 $(filesize) cp.b $(fileaddr) 220000 $(filesize)
 +</​code>​
 +
 +Flash kernel images.
 +<​code>​
 +tftpboot zImage
 +erase 1:4-17
 +cp.b $(fileaddr) 20000 $(filesize)
 +setenv bootcmd cp.b 20000 $(fileaddr) $(filesize)\;​wtags\;​go
 reset reset
 </​code>​ </​code>​
 +
 +
  
 ==== Current problems ==== ==== Current problems ====
 +
 +uboot is not setting MAC address on em5-3
 +Check out a patch: ​ http://​armadeus.svn.sourceforge.net/​viewvc/​armadeus/​trunk/​buildroot/​target/​u-boot/​u-boot-1.3.4-111-apf9328-DM9000.patch?​revision=1009&​view=markup
 +
 +
 +
 +==== Сборка проекта:​ ====
 +Прошивка Xilinx Spartan собирается в Xilinx ISE.
 +
 +Под Linux:
 +  - Запускаем settings64.sh
 +  - Запускаем lmgrd (менеджер лицензий).
 +  - Запускаем ISE: ISE/​bin/​lin64/​ise
 +  - Открываем проект,​ обычным образом запускам Build.
 +  - Запускаем ISE Impact
 +  - Переключаем output на xsvf
 +  - Выполняем команду "​Program"​
 +  - Output -> Stop writing
  
  
-Network crashes when trying to transfer large file from rootfs (mtd device) to nfs-mounted folder. 
-When trying dd /dev/zero the same way, all seems to be fine. 
-<​code>​ 
-WARNING: at net/​sched/​sch_generic.c:​219 () 
-NETDEV WATCHDOG: eth0 (dm9000): transmit timed out 
-Modules linked in: 
-Function entered at [<​c01f168c>​] from [<​c0031178>​] 
-Function entered at [<​c0031120>​] from [<​c018f7f8>​] 
- ​r3:​c3889000 r2:c0219e14 
- ​r7:​00000014 r6:00000001 r5:c3889000 r4:c0264b88 
-Function entered at [<​c018f678>​] from [<​c003b310>​] 
-Function entered at [<​c003b174>​] from [<​c0036a14>​] 
-Function entered at [<​c00369b0>​] from [<​c0036ac4>​] 
-Function entered at [<​c0036a7c>​] from [<​c001b048>​] 
-Function entered at [<​c001b000>​] from [<​c001b898>​] 
-Exception stack(0xc0233f48 to 0xc0233f90) 
-3f40:                   ​00000001 c384a940 00000000 60000013 c001ce0c c0232000 ​ 
-3f60: c001ce0c c024af28 a001705c 69054117 a0017028 c0233f9c c0233fa0 c0233f90 ​ 
-3f80: c001ce50 c001ce5c 60000013 ffffffff ​                                     
- ​r6:​04000000 r5:c0233f7c r4:ffffffff 
-Function entered at [<​c001ce0c>​] from [<​c001cdd8>​] 
-Function entered at [<​c001cd9c>​] from [<​c01f00bc>​] 
- ​r7:​c0235bac r6:c0018da8 r5:c024aef0 r4:c0232000 
-Function entered at [<​c01f004c>​] from [<​c000896c>​] 
- ​r4:​c025f17c 
-Function entered at [<​c0008718>​] from [<​a0008034>​] 
- ​r6:​c00191ac r5:c024af8c r4:0000397d 
----[ end trace bb1fd0722dd5fe86 ]--- 
-eth0: link down 
-</​code>​ 
equipment/oea-euro-miss/em5.1415346919.txt.gz · Последние изменения: 2014/11/07 10:55 — sergey