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

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


equipment:oea-euro-miss:em5

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
equipment:oea-euro-miss:em5 [2013/07/07 01:37]
sergey [flash images]
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"​
-0x00160000 ​: "​Filesystem"​+0x00220000 ​: "​Filesystem"​
  
-в новой версии:​ 
-0x00000000: "​Bootloader"​ 
-0x00020000: "​Kernel"​ 
-0x002A0000: "​Filesystem"​ 
 </​code>​ </​code>​
  
Строка 37: Строка 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>​
Строка 53: Строка 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
Строка 74: Строка 103:
 </​code>​ </​code>​
  
-Flash kernel ​image.+Flash filesystem ​image.
 <​code>​ <​code>​
-tftpboot ​zImage +tftpboot ​rootfs.jffs2 
-erase 1:4-13 +# По неведомой причине (особенности jffs?) стирать нужно до конца. 
-или +erase 1:18
-erase 1:4-27 +cp.b $(fileaddr) ​220000 ​$(filesize)
-cp.b $(fileaddr) ​20000 $(filesize) +
-reset+
 </​code>​ </​code>​
  
-Flash filesystem image.+Flash kernel images.
 <​code>​ <​code>​
-tftpboot ​rootfs.arm.jffs2 +tftpboot ​zImage 
-# По неведомой причине (особенности jffs?) стирать нужно до конца. +erase 1:4-17 
-erase 1:14+cp.b $(fileaddr) ​20000 $(filesize) 
-cp.b $(fileaddr) ​160000 ​$(filesize) +setenv bootcmd ​cp.b 20000 $(fileaddr) $(filesize)\;wtags\;go
-или +
-erase 1:28- +
-cp.b $(fileaddr) ​320000 ​$(filesize)+
 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.1373146628.txt.gz · Последние изменения: 2013/07/07 01:37 — sergey