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

uprogc . uprogc at gmail.com
Fri Jun 12 18:35:48 CEST 2015


Koszi.

U,
Szabi


2015-06-12 19:30 GMT+03:00 elight <elight at gmail.hu>:

> 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]
>


More information about the Elektro mailing list