Keresés

Új hozzászólás Aktív témák

  • Peter789

    senior tag

    Sziasztok! Ha több párhuzamosan futó C-ben írt program megynyitja ugyanazt az I2C portot (a <linux/i2c-dev.h> -t használva) és próbálják írni / olvasni a rajta lévő különböző I2C slave eszközöket (ugyanazt soha, minden érzékelőre dedikált program fut), akkor a driver az sorbaállítja a műveleteket vagy előfordulhat szerencsétlen pillanatokban hogy "zavar keletkezik az erőben" és összekuszálódnak a parancsok / olvasások bájtjai az egyszerre elérés miatt? (elsősorban a kmod-i2c-gpio -t használom openwrt alatt, de fejlesztés közben van hogy az ATi vidkártya DDC csatornájára kötve próbálgatom az érzékelőket)

  • Peter789

    senior tag

    szerk: látom sikeresen megborította a fórum motort ez a pár kiemelés, úgyhogy több bekezdést csak scroll-ozva lehet elolvasni... lol :N

    egyelőre feladtam az openwrt témát, és visszatértem az alap kernelhez. yaffs helyett jffs2 fájlrendszert toltam alá, és ugyanazokat a hibákat szórja, csak kicsit másfajta hibaüzenetek formájában. erősen arra gyanakszom, hogy az mtd driver körül lesz a kaki, ezért gondoltam összemazsolázok egy újabb kernel verziót (3.2-rc1) hátha megoldja, viszont itt már a fordításnál elakadok...

    arm@ubuntu:~/ARM/kernel/linux-3.2-rc1$ make
    CHK include/linux/version.h
    CHK include/generated/utsrelease.h
    make[1]: `include/generated/mach-types.h' is up to date.
    CC kernel/bounds.s
    cc1: error: unrecognized command line option "-mlittle-endian"
    cc1: error: unrecognized command line option "-mapcs"
    cc1: error: unrecognized command line option "-mno-sched-prolog"
    cc1: error: unrecognized command line option "-mno-thumb-interwork"
    kernel/bounds.c:1:0: error: unknown ABI (aapcs-linux) for -mabi= switch
    kernel/bounds.c:1:0: error: bad value (armv4t) for -march= switch
    kernel/bounds.c:1:0: error: bad value (arm9tdmi) for -mtune= switch
    make[1]: *** [kernel/bounds.s] Error 1
    make: *** [prepare0] Error 2

    ez sikerült rá gugliznom: [link]
    szóval állítólag a cross compiler-t nem találja. ez mondjuk azért furcsa, mert ha összebarmolom a Makefile-ban a CROSS_COMPILE paramétert, akkor sokkal egyértelműbben adja tudtomra, hogy valóban a fordító nincsen meg:

    arm@ubuntu:~/ARM/kernel/linux-3.2-rc1$ make
    make: arm-linux-uclibc-gcc: Command not found
    CHK include/linux/version.h
    CHK include/generated/utsrelease.h
    make[1]: `include/generated/mach-types.h' is up to date.
    CC kernel/bounds.s
    /bin/sh: arm-linux-uclibc-gcc: not found
    make[1]: *** [kernel/bounds.s] Error 127
    make: *** [prepare0] Error 2[/M]

    egyből 2 problémába ütköztem: 1. nem igazán tudom hogy mi lenne a pontos PATH a fordítóhoz, pontosan melyik részére kell mutatnia hogy jó legyen, 2. a linken (és neten máshol is csak ilyet találtam) használt export parancsot nem jegyzi meg az ubuntu (11.04 vmware-ben) - pedig azt írja hogy még újra is kell indítani a terminált > amíg nem indítom újra addig ott van az env-ben amit beírok, de ha újraindítom akkor eltűnik. akkor ez hogy is van, mit rontok el vagy értek félre? és mi legyen akkor a CROSS_COMPILE paraméter értéke?

    2 cross compiler csomag van most a gépen - az első az openembed oldaláról van, a 2.6.21-es onnan letöltött kernel szépen le is fordul vele ahogy kell:

    (M)arm@ubuntu:/usr/local/arm/4.2.2-eabi$ ls -ltr
    total 28
    drwxrwxrwx 5 arm arm 4096 2007-10-11 18:10 gmp
    drwxrwxrwx 5 arm arm 4096 2007-10-11 18:10 mpfr
    drwxrwxrwx 2 arm arm 4096 2007-10-11 18:24 etc
    drwxrwxrwx 2 arm arm 4096 2007-10-11 18:24 sbin
    drwxrwxrwx 12 arm arm 4096 2007-10-11 18:32 usr
    drwxrwxrwx 2 arm arm 4096 2007-10-11 18:38 lib
    drwxrwxrwx 2 arm arm 4096 2007-10-11 18:38 bin[/M]

    a másodikat már csak utólag raktam fel, hátha... azthiszem 4.5-ös verziószámot írt install közben:

    (M)sudo apt-get install gcc
    ...
    arm@ubuntu:/usr/arm-linux-gnueabi$ ls -ltr
    total 12
    drwxr-xr-x 2 root root 4096 2011-11-26 15:32 bin
    drwxr-xr-x 2 root root 4096 2011-11-26 15:32 lib
    drwxr-xr-x 31 root root 4096 2011-11-26 15:32 include[/M]

    lehet nagyon triviális dolgokat kérdezek, de tényleg elég kezdő vagyok ezen a vonalon :)

  • Peter789

    senior tag

    az openwrt-s projektet kicsit jobban átolvasva feltűnt, hogy az általa használt vasak nem 20K blokkméretet használnak mint nálam, hanem 4K, valamint mi a fenéért teszi az első 4K-ra a boot_env-et, ha egyszer onnan tudna bútolni a cucc? kezd egyre zavarosabb lenni ez nekem :S

    ja és egy "apróság" hogy az én NAND-omban a 0x40000-0xA0000 terület gyárilag bad-nek jelölt, tehát ezt el kéne kerülnöm valahogy - az openwrt aktívan használná...

    eddig a cucc saját, működő bootloader-ével próbáltam betölteni az openwrt kernelt, de nem jutottam tovább a "starting kernel" üzenetnél...

  • Peter789

    senior tag

    ő az:

    sajnos nem sikerült működésre bírnom az openwrt-t eddig... addig jut hogy beolvassa a kenelt, kiírja hogy starting kernel és fagyi. nem tudtam rávenni hogy akár csak 1 sorral is tovább menjen. bár sajnos elég zavaros is az egész konfigolása. holnap hideg fejjel ismét nekimegyek :)

  • Peter789

    senior tag

    válasz Vladi #12410 üzenetére

    kínából rendeltem a proci modulokat:
    http://openembed.org/wiki/SOM2416
    S3C2416 ARM9 @ 400MHz, 64MB DDR2 16bit, 128MB NAND, háló, hangcsipp egy 4x4 centis 120 lábú modulon

    terveztem hozzá egy alaplapot ami ellátja táppal, kivezeti a különböző portokat, valamint van rajta egy SIM900-as mobilmodem és egy SIM18-as Sirf4-es GPS vevő

    a video portot is kivezettem tüskékre, de most sajnos nincsen olyan LCD panelem amit rá tudnék taknyolni, így nem tudom kipróbálni pl WinCE-vel hogy úgy mit csinál a NAND - jövőhét elejére megjön az alkatrész és akasztok rá egy HDMI kimenetet

    otthon készítek majd képeket róla...

    valamikor a távoli jövőben egy járműkövető rendszer alapja lesz belőle :C

  • Peter789

    senior tag

    válasz Vladi #12408 üzenetére

    igen, ráadásul a package manager-ével úgynézem egyszerűen megúsznám a perl és sqlite telepítést is...

  • Peter789

    senior tag

    válasz Vladi #12406 üzenetére

    no ez az a rész amiről már semmit nem tudok... :) egyelőre addig terjed a tudományom, hogy a menuconfig-ban pipálgatom hogy mi kell nekem, meg kicseréltem az fs/yaffs2-t egy újabbra és úgy make...

    bambano tippjéből kiindulva ezt az oldalt találtam:
    https://forum.openwrt.org/viewtopic.php?id=28249
    este kipróbálom ha hazaértem...

  • Peter789

    senior tag

    válasz bambano #12404 üzenetére

    néztem már a 2.6.39-est és a 3.2-est is a kernel.org-ról, de ezekben nincsenek benne az S3C driverek :F

  • Peter789

    senior tag

    sziasztok!

    egy samsung ARM processzoros vasra próbálok linuxot hegeszteni:
    http://openembed.org/wiki/SOM2416
    (a modul alá magam terveztem alaplapot mobilmodemmel, gps vevővel, stb)

    sikerült is ráhúznom a "hivatalos" u-boot, zImage és filesystem image-et, de valamiért mégis használhatatlan: bebútol a rendszer, de ha fájlműveleteket próbálok csinálni a NAND MTD területen, azonnal okádja a hibákat hogy bad block... a u-boot simán írja, olvassa, törli a blokkokat, nem tartom valószínűnek hogy tényleg fizikai baja lenne a NAND-nek, de valamiért mégsem képes törölni...

    az eredeti zImage kernelben 2007-es yaffs2 kódok voltak, azzal úgy viselkedett hogy tudtam írni, törölni, majd amikor ismét ráírt volna a már használt területre, akkor dobta a hibákat. találam egy 2009-es yaffs2 pakkot, kicseréltem a kernelben és újrafordítottam - ezzel ír, de ahogy törölnék, azonnal dobja ugyanazokat a hibákat. valószínűleg változott a policy, a régi fájltörlésnél csak megjelölte a blokkokat és csak akkor próbálta törölni ha új tartalmat akart rárakni, az újabb meg már fájltörléskor takarítaná a NAND-et hogy az írás művelet gyorsabb legyen...

    http://pc2car.hu/images/users/fpeter/SOM2416/nand_erase_1.txt

    sajnos még meglehetősen kezdő cipőben járok linux téren, de szeretnék beletanulni... próbáltam guglizni a témában, olvastam olyanokat hogy debug kimeneteket lehet olvasni valahogy, amiből talán sikerül leszűrni hogy minek van hasfájása - de nem nagyon vágom hogyan kezdjek hozzá... valakinek van esetleg tapasztalata ilyesmiben ?

Új hozzászólás Aktív témák

Hirdetés