Warning: Illegal string offset 'name' in [path]/includes/functions.php on line 6439
Atmelis 328P (arduino nano) dziļajā miegā. -
+
1 2 3

thread: Atmelis 328P (arduino nano) dziļajā miegā.

  1. #11
    Senior Member
    Mar 2011
    676

    Cik zinu tad Arduino čipā izmanto modificētu AVR109 bootloaderi un pats Arduino IDE izmanto Avrdude komandrindu. Tas nozīmē, ka no komandrindas vari ar avrdude komandu ieprogrammēt čipu vai nu caur Arduino vai jebkuru citu atbalstīto bootloaderi. Pats gan Arduino neizmantoju, bet AVR109 bootloaderi biju pielāgojis priekš ATMega164P un tad caur seriālo varēju apgreidot plates, kuras bija tālu tālu prom pieslēgtas pie Linux kompīša.

    Sīkāk info šeit: https://typeunsafe.wordpress.com/201...-with-avrdude/

  2. #12
    Senior Member
    Apr 2007
    2,087

    Sasodītie datori un tēmas, kas pazūd no saraksta - tikai tagad pamanīju, ka Jurkins ir pieķēries Silabs čipam. Es kā reiz kādu mēnesi arī ar to ņemos, un labprāt pievienotos "mokās". Tev ir tas čips uz kaut kāda gatava devboarda vai taisīji savējo? Man ir uztrasēta savējā plate ar procesoru un visu radio daļu, bet tikai pamazām sāku to visu palaist pie dzīvības. Kaut kādas paketes izdevās aizsūtīt, bet nu čips ir zvērīgs konstruktors ar miljons fīčām. Pārsvarā šito ir doma lietot uz dažādām zondēm un telemetrijas, bet kopumā ir fantastiskas iespējas lietot dažādiem gataviem protokoliem, piemēram, kuģu navigācijas datu (AIS) uztveršanai, amatieru AX.25, tai skaitā APRS, un iespējams, ka arī ADS-B uztveršanai. Vai arī garāžas durvju atvēršanai, bet tas šķiet drusku pazemojoši šādam monstram (kurš maksā mazāk par 3 ērikiem).

  3. #13
    Senior Member
    Apr 2007
    2,087

    Bet par hex iešūšanu - tam mērķim var lietot avrdude pa tiešo, norādot kā programmatoru "arduino", piemēram,

    :
    avrdude -c arduino -P /mans/seriālais/ports -p m328p -U flash:w:manshekss.hex
    Tas patiesībā ir tas, ko Arduino vide tavā vietā dara katru reizi, kad spied Upload. Tur gan ir nianse, ka Arduino vide, manuprāt, vēl mēģina noresetot procesoru pirms palaist avrdude, bet varbūt tas jau ir iestrādāts pašā avrdude iekšā, īsti neesmu nočekojis.

  4. #14
    Senior Member
    Apr 2007
    2,087

    Vēl sīkums, bet - var droši nerakstīt

    :
    asm ("sei");
    bet gan

    :
    sei();

  5. #15
    Senior Member
    Nov 2009
    Jēkabpils
    2,046

    Būtlouderi man ir neskarta tēma, tāpēc braucu iekšā, tā teikt, onlainā. Ierakstīju šeit jautājumu, gūglē atradu infu par avrdude un izlasīju šeit foršas atbildes. Paldies. Jāuzmet aci tam oriģinālajam atmegas būtlouderim. HVZ, kas to resetu taisa, bet man vakar pagadījās pa rokai PL2003 (laikam) usb->usart modulis, kuram ir tikai vcc, gnd, tx un rx pini. Tāpēc mēģinu noresetot ar roku. 50% gadījumu sanāk.
    SI4432 man ir elīča moduļa http://www.ebay.com/itm/SI4432-470MH...IAAOxyOalTaD1M
    Vienu nejauši ar 5V nodedzināju, uz ātro pasūtīju vēl,,, bļ... šķībacainie... ieekonomējuši uz RF sviča. Jāmēģija piešķilt, bet drošības pēc pasūtīju vēl tādus, kāds bija sākumā. Vēl ir moduļi ar 11 piniem, manējam no trim GPIO tikai viens ir izvests ārā, abus pārējos izmanto tikai RF svičam.
    Kā jau rakstīju, pagaidām esmu iemācījies tikai vienkāršāko variantu - sūtīt datus paketēs ar FIFO. Pašlaik ir abos galos pa arduino nano un ķīniešu modulim savienotiem caur 5v<->3.3V konvertieriem. Arduino, lai ērtāk varētu šūt iekšā (par būtlouderi ta neko nezināju līdz šim ). Iesāku gan ar tīro atmegu, tāpēc SI arī uz arduino palika karājoties uz softiskā SPI. Sākumā mēģināju ar RF22 bibliotēku, bet negribēja strādāt. Visticamāk, ka ķīniešu modulim RF sviča vadīšanai vajag citus uzstādījumus. Sāku rakt datašītā un sarakstīju pats ... un tiku tik tālu, ka :
    1. Gan SI gan atmega ir maksimāli iespējami dziļā miegā.
    2. SI sargsuņa taimeris reizi 2 minūtēs pamodina atmegu.
    3. Atmega atmodina SI nolasa DS18B20 temperatūru, aizsūta un aizmidzina SI un aizmieg pati.
    u.t.t.
    Nu jā, tie ir "garāžu vārti" . Iespējas šim čipam toč ir lielas. Bet jāsaka kā ir - šitas modulis man aizgāja vieglāk nekā tie superlētuči vispār bez čipiem ... un cena... nu nekāda. Tāpēc "dajoš katriem garāžu vārtiem SI4432"!

    Kurš meklē, turš atrod ! Īstie džeki visu dara komandrindā, bet tomēr patīkami:
    http://blog.zakkemble.co.uk/avrdudes...i-for-avrdude/

  6. #16
    Senior Member
    Nov 2009
    Jēkabpils
    2,046

    Notestēju vienkāršoto ķīnieti bez RF sviča. Pie reizes pārrakstīju kodu uz dzelzisko SPI. Paketes raida, ka prieks. Saspraužu otru kā uztvērēju - neiet ne traks. Noresetējas, pārtraukuma pinu nomet uz zemi un viss. Ložņāju cauri kodam, lamāju mazos, dzeltenos kverpļus u.t.t. Atrisinājums, kā vienmēr (nu gandrīz vienmēr) copy->paste, un rezultātā nevis nolasu pārtraukumu karogu reģistrus bet mēģinu ierakstīt, līdz ar to pirmais pārtraukums ir nometis pinu uz zemi, bet es šo nepaceļu atpakaļ. Raidītājam vienalga. Šim starp paketēm pārdesmit milisekundes, problēmas nekādas nerodas, līdz ar to pilnīgi vienalga. Tātad izrādās, ka mazie, dzeltenie velni atkal ieekonomējuši. Jebšu varbūt atsevišķas SMD diodes salikuši. Vēl gan uz attālumu neesmu patestējis, vai tiešām ir deklarētais.

  7. #17
    Senior Member
    Nov 2009
    Jēkabpils
    2,046

    Labs rīts! Varbūt kāds var ieteikt kādu mācību līdzekli latviešu valodā par kriptēšanu?

  8. #18
    Senior Member
    Nov 2009
    Jēkabpils
    2,046

    HELP!!!
    Tātad sāku spēlēties ar datu šifrēšanu. Ua Arduino viss ir ok. Bet tā kā ne viss pasaulē ir Arduino, tad novilku avr-crypto-lib-master. Tur ir bez savas jēgas visa kā... Bet mani interesē AES128. Notiekās viss ieskā Atmel Studio 7.
    Saveidotas mapes un faili, salikti ceļi ...



    Koda, var teikt vēl nav. Standarta iesākums.
    :
    #include <avr/io.h>
    #include <main.h>
    
    int main(void)
    {
        /* Replace with your application code */
        while (1) 
        {
        }
    }
    un
    :
    #ifndef MAIN_H_
    #define MAIN_H_
    
    #include <aes.h>
    
    #endif /* MAIN_H_ */
    Mēģinu kompilēt šo "tukšo" projektu:

  9. #19
    Senior Member
    Nov 2009
    Jēkabpils
    2,046

    Raksta šito te.
    [QUOTE]
    ------ Build started: Project: AES_example, Configuration: Debug AVR ------
    Build started.
    Project "AES_example.cproj" (default targets):
    Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
    Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\AES_example.cproj" (target "Build" depends on it):
    Task "RunCompilerTask"
    Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
    C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 4 --output-sync
    Building file: ../src/main.c
    Invoking: AVR/GNU C Compiler : 4.9.2
    "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe" -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.106\include" -I"../src" -I"../src/avr-crypto-lib-master/gf256mul" -I"../src/avr-crypto-lib-master/aes" -I"../src/avr-crypto-lib-master" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.106\gcc\dev\atmega328p" -c -std=gnu99 -MD -MP -MF "src/main.d" -MT"src/main.d" -MT"src/main.o" -o "src/main.o" "../src/main.c"
    Finished building: ../src/main.c
    Building target: AES_example.elf
    Invoking: AVR/GNU Linker : 4.9.2
    "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe" -o AES_example.elf src/avr-crypto-lib-master/aes/aes128_dec.o src/avr-crypto-lib-master/aes/aes128_enc.o src/avr-crypto-lib-master/aes/aes192_dec.o src/avr-crypto-lib-master/aes/aes192_enc.o src/avr-crypto-lib-master/aes/aes256_dec.o src/avr-crypto-lib-master/aes/aes256_enc.o src/avr-crypto-lib-master/aes/aes_dec-asm.o src/avr-crypto-lib-master/aes/aes_dec-asm_faster.o src/avr-crypto-lib-master/aes/aes_dec.o src/avr-crypto-lib-master/aes/aes_enc-asm.o src/avr-crypto-lib-master/aes/aes_enc.o src/avr-crypto-lib-master/aes/aes_invsbox-asm.o src/avr-crypto-lib-master/aes/aes_invsbox.o src/avr-crypto-lib-master/aes/aes_keyschedule-asm.o src/avr-crypto-lib-master/aes/aes_keyschedule.o src/avr-crypto-lib-master/aes/aes_sbox-asm.o src/avr-crypto-lib-master/aes/aes_sbox.o src/avr-crypto-lib-master/avr-asm-macros.o src/avr-crypto-lib-master/gf256mul/gf256mul.o src/main.o -Wl,-Map="AES_example.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega328p -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.0.106\gcc\dev\atmega328p"
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug\Makefile(313,1): error: recipe for target 'AES_example.elf' failed
    src/avr-crypto-lib-master/aes/aes_dec-asm.o: In function `aes256_dec':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_dec-asm.S(54,1): error: multiple definition of `aes256_dec'
    src/avr-crypto-lib-master/aes/aes256_dec.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes256_dec.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_dec-asm.o: In function `aes192_dec':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_dec-asm.S(59,1): error: multiple definition of `aes192_dec'
    src/avr-crypto-lib-master/aes/aes192_dec.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes192_dec.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_dec-asm.o: In function `aes128_dec':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_dec-asm.S(64,1): error: multiple definition of `aes128_dec'
    src/avr-crypto-lib-master/aes/aes128_dec.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes128_dec.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_dec-asm_faster.o: In function `aes256_dec':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_dec-asm_faster.S(36,1): error: multiple definition of `aes256_dec'
    src/avr-crypto-lib-master/aes/aes256_dec.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes256_dec.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_dec-asm_faster.o: In function `aes_decrypt_core':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_dec-asm_faster.S(82,1): error: multiple definition of `aes_decrypt_core'
    src/avr-crypto-lib-master/aes/aes_dec-asm.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes_dec-asm.S:100: first defined here
    src/avr-crypto-lib-master/aes/aes_dec-asm_faster.o: In function `aes192_dec':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_dec-asm_faster.S(41,1): error: multiple definition of `aes192_dec'
    src/avr-crypto-lib-master/aes/aes192_dec.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes192_dec.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_dec-asm_faster.o: In function `aes128_dec':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_dec-asm_faster.S(46,1): error: multiple definition of `aes128_dec'
    src/avr-crypto-lib-master/aes/aes128_dec.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes128_dec.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_dec.o: In function `aes_decrypt_core':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_dec.c(121,1): error: multiple definition of `aes_decrypt_core'
    src/avr-crypto-lib-master/aes/aes_dec-asm.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes_dec-asm.S:100: first defined here
    src/avr-crypto-lib-master/aes/aes_enc-asm.o: In function `aes256_enc':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_enc-asm.S(43,1): error: multiple definition of `aes256_enc'
    src/avr-crypto-lib-master/aes/aes256_enc.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes256_enc.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_enc-asm.o: In function `aes192_enc':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_enc-asm.S(48,1): error: multiple definition of `aes192_enc'
    src/avr-crypto-lib-master/aes/aes192_enc.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes192_enc.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_enc-asm.o: In function `aes128_enc':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_enc-asm.S(53,1): error: multiple definition of `aes128_enc'
    src/avr-crypto-lib-master/aes/aes128_enc.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes128_enc.c:32: first defined here
    src/avr-crypto-lib-master/aes/aes_enc.o: In function `aes_encrypt_core':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_enc.c(109,1): error: multiple definition of `aes_encrypt_core'
    src/avr-crypto-lib-master/aes/aes_enc-asm.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes_enc-asm.S:89: first defined here
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug\src\avr-crypto-lib-master\aes\aes_invsbox.o(1,1): error: multiple definition of `aes_invsbox'
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug\src\avr-crypto-lib-master\aes\aes_invsbox-asm.o(1,1): error: first defined here
    src/avr-crypto-lib-master/aes/aes_keyschedule.o: In function `aes_init':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_keyschedule.c(49,1): error: multiple definition of `aes_init'
    src/avr-crypto-lib-master/aes/aes_keyschedule-asm.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes_keyschedule-asm.S:102: first defined here
    src/avr-crypto-lib-master/aes/aes_keyschedule.o: In function `aes_init':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_keyschedule.c(49,1): error: multiple definition of `aes128_init'
    src/avr-crypto-lib-master/aes/aes_keyschedule-asm.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes_keyschedule-asm.S:46: first defined here
    src/avr-crypto-lib-master/aes/aes_keyschedule.o: In function `aes_init':

  10. #20
    Senior Member
    Nov 2009
    Jēkabpils
    2,046

    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_keyschedule.c(49,1): error: multiple definition of `aes192_init'
    src/avr-crypto-lib-master/aes/aes_keyschedule-asm.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes_keyschedule-asm.S:39: first defined here
    src/avr-crypto-lib-master/aes/aes_keyschedule.o: In function `aes_init':
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\src\avr-crypto-lib-master\aes\aes_keyschedule.c(49,1): error: multiple definition of `aes256_init'
    src/avr-crypto-lib-master/aes/aes_keyschedule-asm.o:c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug/../src/avr-crypto-lib-master/aes/aes_keyschedule-asm.S:32: first defined here
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug\src\avr-crypto-lib-master\aes\aes_sbox.o(1,1): error: multiple definition of `aes_sbox'
    c:\users\jurchixxx\Documents\Atmel Studio\7.0\AES_example\AES_example\Debug\src\avr-crypto-lib-master\aes\aes_sbox-asm.o(1,1): error: first defined here
    collect2.exe(0,0): error: ld returned 1 exit status
    make: *** [AES_example.elf] Error 1
    The command exited with code 2.
    Done executing task "RunCompilerTask" -- FAILED.
    Done building target "CoreBuild" in project "AES_example.cproj" -- FAILED.
    Done building project "AES_example.cproj" -- FAILED.

    Build FAILED.
    ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

    [/QUOTE]

    Nu no šī teksta es saprotu(ja pareizi saprotu), ka kompilatoram dod vienu un to pašu vairākas reizes. Bet kur??? 3.14sos te jau stundas trīs. Netu esmu pārracis. Bet visur galu galā atrodas vieta, kur tiešām notiek atkārtošanās, bet šeit... nu nevaru atrast.

+