Cortex-M0 gcc problem

Miroslav Mraz mraz na seznam.cz
Sobota Březen 30 22:08:38 CET 2013


Zkuste taky reportovat, jaký kód to vygeneruje, třeba na něco přijdeme.
Ale na F4 asi budou jiní, já to dneska teprve rozbalil. VCP, resp. CDC
class budu taky potřebovat, ono to není zase tak triviální. Ale dělal
jsem to už na LPC1343, snad to nebude tak moc jiné. I když ty zdrojáky
má každá firma zprasené jinak, třeba USB stack od Atmelu se mi vůbec
nepovedlo pochopit. NXP ho má od Keilu a to je docela hezky napsané. STM
jsem ještě nezkoumal.

Mrazík

Jaroslav Buchta píše v So 30. 03. 2013 v 20:31 +0100:
> Ja mam na STM32F4 jinou zahadu dneska, asi je to moji neznalosti, jedna 
> se o tento projekt: http://mcu.cz/news.php?extend.2800
> 
> Portoval jsem to bez problemu na GNU GCC s prostredim C::B bez problemu, 
> fungovalo to skvele hned, ale jen bez optimalizace Os (bez to ma asi 
> 90kB, s asi 38kB)
> Problem byl zde v souboru stm32f4_discovery.c zde:
> GPIO_TypeDef* const GPIO_PORT[LEDn] = {LED4_GPIO_PORT, LED3_GPIO_PORT, 
> LED5_GPIO_PORT,
>                                   LED6_GPIO_PORT};
> 
> hloupe pole konstantnich ukazatelu, definovane mimo funkci cili staticky 
> ale nebylo tam puvodne const. Po optimalizaci se to nejak zpotvorilo a 
> prvni ukazatel byl OK, dalsi za konec RAM (aspon kdyz se prvrk pole 
> predal jako parametr fce) a pak to pri pouziti to spadlo v void 
> HardFault_Handler(void) do nekonecne smycky...
> 
> void STM32F4_Discovery_LEDInit(Led_TypeDef Led)
> {
>    GPIO_InitTypeDef  GPIO_InitStructure;
> 
>    /* Enable the GPIO_LED Clock */
>    RCC_AHB1PeriphClockCmd(GPIO_CLK[Led], ENABLE);
> 
>    /* Configure the GPIO_LED pin */
>    GPIO_InitStructure.GPIO_Pin = GPIO_PIN[Led];
>    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
>    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
>    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
>    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
> TADY!   GPIO_Init(GPIO_PORT[Led], &GPIO_InitStructure);
> }
> 
> 
> Trosku mne to znervoznuje, nenapada me, proc to takhle dopadlo. Po 
> doplneni const to ovsem zda se funguje normalne... Jen jsou asi 4 
> warningy se zapnutou optimalizaci, to budu zkoumat pozdeji.
> Prekvapilo me taky, ze projekt na obyc. VCP je tak rozsahly. Ted se 
> pustim do zkoumani ethernetu ;-)
> 




Další informace o konferenci Hw-list