реклама на сайте
подробности

 
 
> как сместить программу на адрес 0x08002000
viakon
сообщение Sep 11 2012, 06:37
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Есть проект для STM32 под Eclipse. Пока в скрипте линкера stm32f100rb_flash.ld строка
FLASH (rx) : ORIGIN = 0x08000000

программа работает
стоит изменить на ORIGIN = 0x08002000
все престает работать. После загрузки проги в контроллер первый же шаг в отладчике выкидывает куда-то в середину тела проги. кроме этого приходится перезагружать openOCD.
До NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000); даже не доходит где-то раньше проблема возникает.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Sep 11 2012, 07:54
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



первые 4 байта - начальный адрес стека
вторые 4 байта - начальный адрес программы

Очень рекомендую PM0056 STM32F10xxx/20xxx/21xxx/L1xxxx Cortex-M3 programming manual
Go to the top of the page
 
+Quote Post
viakon
сообщение Sep 11 2012, 09:22
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



дело похоже вот в чем:
в окне консоли в Eclipse я вижу

Loading section .bload, size 0x34 lma 0x8000000
Loading section .isr_vector, size 0x1d0 lma 0x8002000
Loading section .text, size 0x10cf8 lma 0x80021d0
Loading section .bootprg, size 0x6c lma 0x8012ec8
Loading section .data, size 0x40 lma 0x8012f34
Loading section .string, size 0x94 lma 0x8012f74
Loading section .configuration, size 0x508 lma 0x801e000
Start address 0x800ad7c, load size 70980
Transfer rate: 24 KB/sec, 6452 bytes/write.
никаких сообщений об ошибках

а в консоли openOCD

Info : Padding image section 0 with 8140 bytes
Info : Padding image section 1 with 45048 bytes
Error: corrupted fifo read pointer 0x20000000

реально же грузится только секция .bload и все.

если секцию .bload поместить в общую кучу, то прога грузится нормально с 0x08002000 и работатет.
Go to the top of the page
 
+Quote Post



Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 21:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016