[elektro] AVR IRQ -> ARM
VFX
info at vfx.hu
Mon Feb 29 08:42:30 CET 2016
Hali!
Kipróbáltam, hg12345kollégának van igaza!
Valóban megy a dolog, nem igazán értem, mit baltáztam el, de
16/32/64MHz-cel szépen nő a villogás sebessége, kifagyás nélkül!
PLL beállítás:
ldr R3,[R0, #RCC_CFGR_OFFSET]
ldr R2,=#0x08C0C00F //Clear PLL mult
and R3, R3, R2
ldr R2,=#RCC_CFGR_PLLMUL16 | RCC_CFGR_PPRE1_DIV1
orr R3,R3,R2
str R3,[R0, #RCC_CFGR_OFFSET]
Flash WS
ldr R4,=FLASH_R_BASE
mov R5,#FLASH_ACR_PRFTBE | FLASH_ACR_LATENCY_0
str R5,[R4, #FLASH_ACR_OFFSET]
Test progi:
LEDCikl:
ldr R0,=GPIOA_BASE
mov R2,GPIO_PIN_5
str R2,[R0, #GPIOx_BSRR_OFFSET]
ldr R5,=#4000000
cikl1:
subs R5,R5,#1
bne cikl1
mov R2,GPIO_PIN_5 << 16
str R2,[R0, #GPIOx_BSRR_OFFSET]
ldr R5,=#4000000
cikl2:
subs R5,R5,#1
bne cikl2
b LEDCikl
ÜDV. VFX.
2016.02.29. 8:30 keltezéssel, VFX írta:
> Hali!
>
> Igazad van, nem 1:2 arányú a csökkenés. Én egyszerű LED villogtatást
> csináltam: LED be, 2-4 millió üres ciklus, LED ki, 2-4 millió üres
> ciklus, vissza az elejére. Core CLK 8..64Mhz (8MHz lépésekben)
> váltogattam és szemmel néztem mi változik. Bizony itt szemre a 64MHz és
> a 32MHz között semmi különbséget nem láttam Flashből futtatva. Még nem
> nagyon ismerem az ARM-t ez igaz, meglehet, hogy még ezt-azt ki-be kell
> kapcsolni, hogy menjen a wide buffer, de egyenlőre nekem nem megy.
>
> Ha 64Mhz-es CLKnál, nem adok neki 2WS-t akkor kiakad a proci, nem csinál
> semmit. Ha van WS, akkor meg nem gyorsabb, mint a 16MHz-es teszt progi.
> Mit kellene beállítani, hogy menjen a wide buffer?
>
> De ma lesz egy kis időm, újra megcsinálom, hátha valamit elfigyeltem...
>
>
> ÜDV. VFX.
>
>
>
> 2016.02.29. 8:02 keltezéssel, hg12345 írta:
>> Hi,
>>
>> tévedsz, mint már írtam mint a legtöbb arm a FLASH-t 2x64 vagy 2x128 bites bufferen keresztűl kezeli, ezért a wait miatti sebesség csökkenés 5-7% az a nélküli sebességhez képest.
>>
>> VFX <info at vfx.hu> írta:
>>> Hali!
>>>
>>> Én is most álltam/állok át ARM-ra xmegaról. Nem a tudással van baj az
>>> xmeganal, hanem az árral. xmega áraban kapok STM32f334-t amiben van FPU,
>>> ami nekem nagyon jó. A GCC fordítóval sokat kínlódtam, nekem nem nagyon
>>> sikerült összelapátolnom valami használhatót. Ami elsőre ment az a WEBes
>>> fordító a Nucleo boardhoz. De véleményem szerint az csak próbára jó,
>>> full projectet nem készítek vele. Egyenlőre asm-ben tolom, mint eddig...
>>> A letöltője zseniális! Mass storage eszköznek látszik, felmásolod a bin
>>> file-t és már be is égette :)
>>> Hogy ez nekem eddig nem jutott eszembe!
>>>
>>> Viszont ami félrevezető az a működési freki, f334-nél ez max 72MHz, de
>>> 24MHz fölött wait state kell a flashnek, szóval 0 WS csak 24MHz-ig van.
>>> Hiába megy a mag 48MHz-cel, a flash 1:2 osztás után csak 24MHz-cel fog
>>> menni továbbra is. Ha van rakat RAM akkor van okosság a gyors prociban
>>> egyébként semmit sem ér, ha flashből futtatod a progidat.
>>>
>>>
>>> ÜDV. VFX.
>>>
>>>
>>> 2016.02.28. 10:54 keltezéssel, Szima Gábor írta:
>>>> On Fri, 26 Feb 2016, VFX wrote:
>>>>
>>>>> Milyen AVR a proci?
>>>> Mezei Mega168.
>>>>
>>>>> Ha xmega, akkor van lehetőséged HW-ből frekvenciát
>>>>> és kitöltést is mérni SW nélkül. Csak a mért érték kiolvasására kapsz IT.
>>>>> Xmega-nal van lehetőség HW-ből prell. kiszűrésre is.
>>>> Sokáig szemeztem az xmega sorozattal, de inkább az ARM-ot célzom meg. Most
>>>> kalapálok hozzá egy GCC fordítót. Melyik típussal érdemes kezdeni?
>>>>
>>>> Mega8/168/328 és Mega644 kiváltása lenne a cél (lábszám, lóerő).
>>>>
>>>> Ami fontos: gcc támogatás, bootloader, ISP programozás Linux alatt kevés
>>>> lábon (GND + 3-4 láb).
>>>>
>>>>
>>>> -Sygma
>>>>
>>>> -----------------------------------------
>>>> elektro[-flame|-etc]
>>>>
>>> -----------------------------------------
>>> elektro[-flame|-etc]
>>>
>> -----------------------------------------
>> elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list