Changes between Version 1 and Version 2 of epics/bbb/debian/cape/uartx1


Ignore:
Timestamp:
06/23/17 10:00:01 (2 years ago)
Author:
michkawa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/bbb/debian/cape/uartx1

    v1 v2  
    141141cmdline=coherent_pool=1M net.ifnames=0 quiet cape_universal=disable 
    142142}}} 
     143 
     144 
     145色々とググってみると、[https://stackoverflow.com/questions/24134958/my-custom-capes-devicetree-fails-to-load-at-boot-but-can-be-loaded-manually My custom cape's devicetree fails to load at boot, but can be loaded manually]というページがあり、その中に2つの解決方法が記載されていた。[[br]] 
     1461つは、EEPROMでのロードは諦めて、ブート後にソフトウェア的に{{{/etc/default/capemgr}}}に記述されたfirmwareをロードするというものだった。[[br]] 
     147何かこれじゃない感がするけど実際にやってみると、ロードされているようだった。 
     148 
     149{{{ 
     150root@beaglebone:~# dmesg 
     151                : 
     152[    2.343437] bone_capemgr bone_capemgr: Baseboard: 'A335BNLT,00C0,3115BBBK0805' 
     153[    2.343471] bone_capemgr bone_capemgr: compatible-baseboard=ti,beaglebone-black - #slots=4 
     154[    2.382144] bone_capemgr bone_capemgr: slot #0: 'RS232C Tiny Cape,00A0,KEK cERL CTRL,cape-uart-tiny' 
     155[    2.422052] bone_capemgr bone_capemgr: slot #1: No cape found 
     156[    2.462047] bone_capemgr bone_capemgr: slot #2: No cape found 
     157[    2.502045] bone_capemgr bone_capemgr: slot #3: No cape found 
     158[    2.502315] bone_capemgr bone_capemgr: initialized OK. 
     159                : 
     160[    3.514427] bone_capemgr bone_capemgr: loader: failed to load slot-0 cape-uart-tiny:00A0 (prio 0) 
     161                : 
     162[   18.411708] bone_capemgr bone_capemgr: part_number 'cape-uart-tiny', version 'N/A' 
     163[   18.411745] bone_capemgr bone_capemgr: slot #4: override 
     164[   18.411762] bone_capemgr bone_capemgr: Using override eeprom data at slot 4 
     165[   18.411779] bone_capemgr bone_capemgr: slot #4: 'Override Board Name,00A0,Override Manuf,cape-uart-tiny' 
     166[   18.472173] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 199, base_baud = 3000000) is a 8250 
     167[   18.493383] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 200, base_baud = 3000000) is a 8250 
     168[   18.510449] bone_capemgr bone_capemgr: slot #4: dtbo 'cape-uart-tiny-00A0.dtbo' loaded; overlay id #0 
     169                : 
     170 
     171root@beaglebone:~# cat /sys/devices/platform/bone_capemgr/slots 
     172 0: P-----  -1 RS232C Tiny Cape,00A0,KEK cERL CTRL,cape-uart-tiny 
     173 1: PF----  -1 
     174 2: PF----  -1 
     175 3: PF----  -1 
     176 4: P-O-L-   0 Override Board Name,00A0,Override Manuf,cape-uart-tiny 
     177}}} 
     178 
     1792つ目が、どうやら本当の解決法らしいが色々と面倒そう。[[br]] 
     180言いたいこととしては、initrdが起動してinitramfs上に展開されるが、その時点で展開されているファイル内にfirmwareファイルが入っていないからこの問題が起きるということのようだ。[[br]] 
     181実際にfirmwareファイルが入っているのは、eMMCやSDカード内で、その領域がマウントされるのがinitrd内のcapemgrが認識した後だから当たり前といえば当たり前の話。 
     182 
     183