[elektro] STM32F Flash memory inicializáslása.

elight elight at gmail.hu
Fri Jun 12 18:30:42 CEST 2015


Ez itt lehet hogy neked is lerágott csont, de azért..

http://users.ece.utexas.edu/~valvano/EE345M/UM0585.pdf

és én ha használnám, akkor ezt az anyagot tekinthetném referenciának..

http://www.mikroe.com/chapters/view/73/chapter-3-iir-filters/

Le kell tölteni a számoló programot ,
és van valahol a neten online számolási lehetőseg is..

Üdv István

2015-06-12 18:24 keltezéssel, uprogc . írta:
> Szia,
>
> Koszi az infot.
> A szurot meg tudom ( tudtam;) ) tervezni, implementalni nem tudtam az adott
> DSP fugvenyekkel,
>
>
> U,
> Szabi
>
> 2015-06-12 19:22 GMT+03:00 elight <elight at gmail.hu>:
>
>> Szia
>>
>>
>> Még nem foglalkoztam ilyesmivel,
>> ha kellett inkább betettem egy komplett digitszűrő chip-et.
>> Azért  régebben ezt az anyagot megnézegettem...
>>
>> http://dsp.mit.bme.hu/userfiles/szakdolgozat/stolczenbergerszakdolgozat09.pdf
>> de úgy döntöttem, nem lehet mindenbe belekapni
>> egy kis sávszűrésért.. :-)
>>
>> Üdv István
>>
>>
>> 2015-06-12 18:14 keltezéssel, uprogc . írta:
>>> Valaki nem tudja, hogy IIR szurot hogy tudok implementalni STM32-re ?
>>> Egy pelda kellene arra, hogy ha Matlabban kigeneralom a szurot utanna
>> hogy
>>> lehet implementalni.
>>> Tavaly probalkoztam, es emlekszem hogy a DSP lib-ben levo fuggvenyek es a
>>> Matlab altal generalt szuro sehogy sem volt osszeegyeztetheto. Valamit
>>> general pluszba a Matlab (nem vagyok IIRben abszolute jartas)
>>> FIRnel simman ment minden.
>>>
>>> Szabi
>>>
>>> 2015-06-12 19:09 GMT+03:00 uprogc . <uprogc at gmail.com>:
>>>
>>>> Szia,
>>>>
>>>> Koszi, a tobbi nem elekadas, felepitettem egy teljes SDR radiot mar
>> erre a
>>>> procira, csak akkor nem volt szukseg 8 bitet egyszerre kiirni a portra
>> es a BSRRx
>>>> regiszter irasokat hasznalta., Most bejott egy grafikus kijelzo,, es azt
>>>> hittem mas port iras lehetoseg nincs.
>>>>
>>>>
>>>> Szabi
>>>>
>>>> 2015-06-12 19:00 GMT+03:00 elight <elight at gmail.hu>:
>>>>
>>>>> Igen,  meg..
>>>>>
>>>>> IDR  -  input
>>>>>
>>>>> ODR - output regiszrer
>>>>>
>>>>> és ne felejsd s Periféria Clock regiszterében az órajelet is
>> engedélyezni
>>>>> mert anélkül a periféria alszik..
>>>>>
>>>>> És bizonyos típusoknál létezik még egy bit-bang-nak nevezett bittáblás
>>>>> elérési  mód is.
>>>>>
>>>>> Azonkívül bekapcsolhatsz a portlábakra kiterjesztett módokat ,
>>>>> UART , SPI  stb.   kezeléshez.. Van erről valahol egy kis
>>>>> magyar nyelvű fejtágító is..
>>>>>
>>>>> és ez a anyag is hasznos lehet kezdéshez ,
>>>>>
>>>>> http://hg8lhs.ham.hu/publications/Diploma.pdf
>>>>>
>>>>> ha még nem ismernéd..
>>>>>
>>>>> Üdv István
>>>>>
>>>>>
>>>>>
>>>>> 2015-06-11 13:24 keltezéssel, uprogc . írta:
>>>>>> Megtalaltam:
>>>>>>
>>>>>> void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)
>>>>>> {
>>>>>>      /* Check the parameters */
>>>>>>      assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
>>>>>>
>>>>>>      GPIOx->ODR = PortVal;
>>>>>> }
>>>>>>
>>>>>> Tehat hasznalhato akar :  GPIOx->ODR = PortVal;
>>>>>>
>>>>>>
>>>>>> Szabi
>>>>>>
>>>>>> 2015-06-11 14:05 GMT+03:00 uprogc . <uprogc at gmail.com>:
>>>>>>
>>>>>>> Sziasztok,
>>>>>>>
>>>>>>> Nekem is lenne egy STM32 kerdesem.
>>>>>>>
>>>>>>> AVRnel megszoktuk, hogy a portra siman kiirjuk az adatot, az
>>>>> megjelenik a
>>>>>>> kimeneten.
>>>>>>> STM32-nel mindehez ket regiszterre van szukseg:
>>>>>>>
>>>>>>> GPIOD->BSRRH = GPIO_Pin_13  Low szint;
>>>>>>> GPIOD->BSRRL = GPIO_Pin_13; High szint
>>>>>>>
>>>>>>> Hogy tudom parhuzamos portkent a legegyszerubben hasznalni az adott
>>>>> portot
>>>>>>> ? (LCD vezerles)
>>>>>>>
>>>>>>>
>>>>>>> U,
>>>>>>> Szabi
>>>>>>>
>>>>>>> 2015-06-10 16:13 GMT+03:00 elight <elight at gmail.hu>:
>>>>>>>
>>>>>>>> Megvigasz....
>>>>>>>>
>>>>>>>> de megvan a vigasz.. :-)
>>>>>>>>
>>>>>>>> unsigned char FLASH_Mem_Inited = 0;
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> valahol a main elején
>>>>>>>> Error = EEprom_Table_Read  ( kezdőcím, hossz  );   // olvasom a
>> táblát
>>>>>>>> egy EE_Thumb memóriaváltozóba
>>>>>>>>
>>>>>>>> if ( ! ( EE_Thumb[ TEST_AA ] ==  0xAA ) &&  (EE_Thumb[ TEST_55 ] ==
>>>>> 0x55
>>>>>>>> ))
>>>>>>>> {
>>>>>>>>                      //  Ha a pattern nem található  az EEprom
>>>>> területen ...
>>>>>>>>                     EEprom_Table_Init ( kezdőcím, hossz );    //
>>>>> Belevarrja
>>>>>>>> a területbe a patternt és a kezdő adatokat.
>>>>>>>>                     FLASH_Mem_Inited = 1;
>>>>>>>> }
>>>>>>>>
>>>>>>>> És a  nyitóképernyőn   is kiírom ha initelt , hogy lássam
>>>>>>>>
>>>>>>>> if(  FLASH_Mem_Inited == 0 )
>>>>>>>> {
>>>>>>>>             Print_Status_LCD("FLASH_Read_Ok" );
>>>>>>>> }
>>>>>>>> else
>>>>>>>> {
>>>>>>>>          Print_Status_LCD("FLASH_Init  !!!" );
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> a többi már pöröghet   szokásosan..
>>>>>>>> Az előbb teszteltem éppen, szépen lefutotta az esteket..
>>>>>>>>
>>>>>>>>
>>>>>>>> Az zavart be,  PIC-nél ezeket az adatokat direkt beleírhattam az
>> égető
>>>>>>>> EEprom táblájába,
>>>>>>>> itt pedig a FLASH-ba kell bele juttatni, és ahhoz kell a FLASH
>> kezelő
>>>>>>>> függvénye..
>>>>>>>> Legalább is egyenlőre direkt nem értem el  , hogy a fordító tegye
>> bele
>>>>>>>> nekem.
>>>>>>>>
>>>>>>>> Üdv István
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2015-06-10 14:55 keltezéssel, hg12345 írta:
>>>>>>>>> Hi a tömbnek érteket lehet adni induláskor, akkor nem ZI-n
>>>>>>>> tárolja.uint8_t tomb[100]={ 1,2,3,4....};az az érték RAM-ban lesz
>>>>> tárolva,
>>>>>>>> nem a FLASH területen. ha eléírsz "const" akkor a tömböt a flash
>>>>> területre
>>>>>>>> teszi, de ennek az írását nem engedi a fordító.const uint8_t
>>>>> tomb[100]={
>>>>>>>> 1,2,3,4....};Ha egy ugyan ilyen pointert definiálsz a const helyet
>>>>>>>> használhtsz __attributre__ megadott kezdőcimet is...)  uint8_t
>>>>> *ptomb=
>>>>>>>> (uint8_t*) tomb ;és utána már használhatód ptomb[xx] hivatkozással
>>>>> ezért
>>>>>>>> már nem kiabál a fordító de írni nagy valószínűséggel nem fogod
>> tudni
>>>>> :-)
>>>>>>>>> elight <elight at gmail.hu> írta:
>>>>>>>>>> Sziasztok.
>>>>>>>>>>
>>>>>>>>>> Egy EEprom emulációt készítettem a FLASH memoria területére.
>>>>>>>>>>
>>>>>>>>>> A fordítónak hogyan adhatom meg , hogy ez
>>>>>>>>>> egy  tömb, aminek kezdeti értéke van,
>>>>>>>>>> és a függvényeim induláskor ezeket módosíthatják vagy olvashatják
>>>>> majd.
>>>>>>>>>> Olyasmire gondolok, hogy a PIC-nél volt az égetőben egy EE_prom
>>>>>>>>>> terület, amit kézzel beírtam, és égetés után azokkal
>>>>>>>>>> a beállítási paraméterekkel indult a program.
>>>>>>>>>> Mert most elsőre innen szemetet vagy 00 hoz le sajnos.
>>>>>>>>>>
>>>>>>>>>> Üdv István
>>>>>>>>>>
>>>>>>>>>> -----------------------------------------
>>>>>>>>>>              elektro[-flame|-etc]
>>>>>>>>> -----------------------------------------
>>>>>>>>>               elektro[-flame|-etc]
>>>>>>>> -----------------------------------------
>>>>>>>>              elektro[-flame|-etc]
>>>>>> -----------------------------------------
>>>>>>              elektro[-flame|-etc]
>>>>> -----------------------------------------
>>>>>             elektro[-flame|-etc]
>>>>>
>>> -----------------------------------------
>>>             elektro[-flame|-etc]
>> -----------------------------------------
>>            elektro[-flame|-etc]
>>
> -----------------------------------------
>            elektro[-flame|-etc]



More information about the Elektro mailing list