OT: ARM a Linux

Josef Štengl ok1ced na nagano.cz
Pátek Březen 7 18:49:52 CET 2014


Jen taková poznámka slaboduchého trotla:

S jakými parametry to překládáte?

Nebudu se rozepisovat viz.

-munaligned-access
-mno-unaligned-access
     Enables (or disables) reading and writing of 16- and 32- bit values from addresses that are not 16- or 32- bit 
aligned. By default unaligned access is disabled for all pre-ARMv6 and all ARMv6-M architectures, and enabled for all 
other architectures. If unaligned access is not enabled then words in packed data structures will be accessed a byte at a 
time.

     The ARM attribute Tag_CPU_unaligned_access will be set in the generated object file to either true or false, 
depending upon the setting of this option. If unaligned access is enabled then the preprocessor symbol 
__ARM_FEATURE_UNALIGNED will also be defined.

pokud mohu soudit z poznámky Pavla T. meson3_skt MACH_M3_SKT M3_SKT 3882, tak se jedná o M3 a ta (dle manuálu) vyžaduje 
zarovnaný přístup k některým oblastem paměti na rozdíl od novějších jader.

Ale nepracuji ani s řadou M ani s gcc, je to jen takový nápad.

Ještě jsou hezké 64 bit proměnné, tam si naběhl při přístupu na EMIF a některých registrů; adresa 0xe7c37fa6 by mohla být 
oblast systémových registů.

ced


Dne 7.3.2014 17:29, Michal Grunt napsal(a):
> Ještě zkouším starší kompiler 4.4.1 (arm-2010q1-188-arm-none-eabi.bin). Na jednom fóru jsem našel že to dotyčnému taky dělalo (Unhandled fault: alignment exception (0x801)  - na jiném ARMu samozřejmě) a verze 4.4.x pomohla. Když ne, budu hledat dál a zkoušet různé config profily a googlit. Snad časem narazím na něco co bude fungovat :-)
>
> Jinak jak zjistím na jiném funkčním firmware machine ID abych to dokázal najít v této tabulce a porovnat s tím co je v konfiguraci kernelu, zda je použita správná konfigurace pro překlad?
> http://www.arm.linux.org.uk/developer/machines/download.php
>
> Michal Grunt
>
> -----Original Message-----
> From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Pavel Troller
> Sent: Friday, March 07, 2014 4:52 PM
> To: HW-news
> Subject: Re: OT: ARM a Linux
>
> Zdravím,
>
>> Tak už to částečně jde. Těch průserů tam bylo více:
>> - špatný argument v u-bootu v bootagrs (mělo být bootargs
>> console=ttyS0,115200)
>> - špatná verze kompileru (tuším že jsem používal 4.7.1 a ta si s něčím
>> nerozuměla, dal jsem tam sourcerycode 4.6.1)
>>
>> Nicméně když se spustí kernel tak to vyhodí plno chyb (od řádku [0.507311] PC:... je to více méně podobné SP, LR, IP, FP atd. až asi do šestnácté vteřiny, pak je konec). Takže jdu zkoumat dál, proč...
>
> Ne, ta první chyba začíná zde:
> [    0.436185] Unhandled fault: alignment exception (0x801) at 0xe7c37fa6
> To ostatní už je jen pokračování výpisu. Podle všeho opět chybná kompilace, jde o chybu zarovnání (na hranici 4/8 byte), což je velice low-level problém.
> Máte správně nastavenu platformu (typ CPU) ? Některé ARMy mohou umět věci, které jiné ARMy neumí. Je to v devtmpfs_init(), to je generický kód, žádná HW specialita ARMa.
>    Další chyby mohou být zavlečeny touto první.
>
>    Zdraví Pavel
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list