Страницы

Страницы

вторник, 7 июля 2020 г.

External memory programming

Keil FLM file function
Init
EraseSector
UnInit
EraseChip
ProgramPage
Verify
BlankCheck


ARM Linker

Set var address for QSPI

const unsigned char __test[] = {...
const unsigned char __test[] __at(0x90000000) = { ...



LOAD_ROM 0x0000 0x8000       ; Name of load region (LOAD_ROM),
                             ; Start address for load region (0x0000),
                             ; Maximum size of load region (0x8000)
{
    EXEC_ROM 0x0000 0x8000   ; Name of first exec region (EXEC_ROM),
                             ; Start address for exec region (0x0000),
                             ; Maximum size of first exec region (0x8000)
    {
        * (+RO)              ; Place all code and RO data into
                             ; this exec region
    }
    SRAM 0x10000 0x6000      ; Name of second exec region (SRAM),
                             ; Start address of second exec region (0x10000),
                             ; Maximum size of second exec region (0x6000)
    {
        * (+RW, +ZI)         ; Place all RW and ZI data into
                             ; this exec region
    }
}

пятница, 7 февраля 2020 г.

TouchGFX & Keil in CubeMX project

After generation project from CubeMX

Error: L6218E: Undefined symbol MX_FREERTOS_Init() (referred from main.o).
Error: L6218E: Undefined symbol GRAPHICS_MainTask (referred from freertos.o).


Correct

main.cpp
void MX_FREERTOS_Init(void)       ->    extern "C" void MX_FREERTOS_Init(void);

BoardConfiguration.cpp
void GRAPHICS_MainTask(void)       ->     extern "C" void GRAPHICS_MainTask(void)