Загрузка данных


        chosen {
                zephyr,flash = &sdram_code; /* (LMA) */
                zephyr,sram = &sdram_data;     /* (VMA) */
        };


        /* Первая часть SDRAM: Сюда линкер монолитно уложит весь код ОС и PJSIP */
        /* Называем этот регион строго "RAM", чтобы оригинальный linker.ld принял его без правок */
        sdram_code: memory@80000000 {
                device_type = "memory";
                reg = <0x80000000 DT_SIZE_M(4)>;
        };

        /* Вторая часть SDRAM: Сюда пойдут bss, heap, стек и динамическая память PJSIP */
        sdram_data: memory@80400000 {
                device_type = "memory";
                reg = <0x80400000 DT_SIZE_M(28)>;
        };

ещё раз опишу. Если взять твой скрипт с подменой адреса CONFIG_FLASH_BASE_ADDRESS 0x60000000 - то несмотря на то, что в dts мы указываем SDRAM, у нас соберётся код в области VMA=LMA=0x6...., данные VMA=0x804.... LMA=0x6..... Это называется штатный вариант работы платы: такой вариант можно получить просто указав в dts sdram_code=0x6..... sdram_data=0x804....