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

uprogc . uprogc at gmail.com
Fri Jun 12 19:27:17 CEST 2015


Parameterezni, de a Matlab nem teljesen azt generalja ami oda kell, itt van
a problemam.

2015-06-12 20:26 GMT+03:00 uprogc . <uprogc at gmail.com>:

> 32F4, C M4
>
>
> Szabi
>
> 2015-06-12 19:51 GMT+03:00 hg12345 <hg12345 at freemail.hu>:
>
>> Attól függ melyik STM-t haswználod, a CORTEX M4-re gyárilag megírták csak
>> paraméterezni kell.Az STM32F373 -re keress rá ott megtalálod a library-t
>> Szerintem ha egy kicsit keresem az ST honlapján akkor a M3 és M0 magokra is
>> találsz.A kivánt sebességtől is függ, milyen sebességű adatot akarsz szűrni.
>> elight <elight at gmail.hu> írta:
>> >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]
>> >
>> >-----------------------------------------
>> >          elektro[-flame|-etc]
>> -----------------------------------------
>>           elektro[-flame|-etc]
>
>
>


More information about the Elektro mailing list