Я пытаюсь вызвать функцию C, которая находится в определенном адресе памяти (0x100h), но каждый раз, когда я смотрю на вызов функции с помощью отладчика JTAG, он просто перепрыгивает через нее (без вызова функции) и переходит к следующему строка кода. Я поместил вызванную функцию в #pragma code_section (named_func, "FUNC_SEC"), чтобы связать ее с адресом памяти. Фактическая функция находится в файле funcs.c.
Файл компоновщика моего project.cmd содержит следующие строки памяти и разделов.
MEMORY
{
FUNC_SEC : origin = 0x000100, length = 0x0000ff
}
SECTIONS {
CALLED_FUNC : LOAD = FUNC_SEC, PAGE = 0 {
..\release\Tests.obj(.text)
}
}
При взгляде на адрес 0x100h, он пуст, что объясняет, что функция не работает должным образом. Я пытаюсь вызвать функцию, которая находится в области памяти DSP (TMS320c28x) и выполнить ее. После этого программа возобновляет работу в области флэш-памяти DSP.
Примечание, имена функций и т. Д. Были изменены.
Может кто-нибудь помочь мне с этой проблемой? Спасибо!