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

 
 
> Keil ULINK-ME, Чего не может Keil ULINK-ME
ViKo
сообщение Apr 26 2010, 12:01
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Были ли у кого проблемы с ULINK-ME?
В хэлпе uVision4 написано:
ULINK-ME is only delivered and supported as part of Keil Starter Kits. It is not guaranteed to work with custom hardware.

Скомпилировал свой проект (начало). Что-то во флэш STM32F103 загружаю. Но не заводится генератор. И не знаю, где рыться.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bseyur
сообщение May 3 2010, 13:00
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 8-01-07
Из: Томск
Пользователь №: 24 208



А изначально стек где находился?
На счет регистра LR вы не правы. При переходе в режим исключительной ситуации адрес возврата нужно выгребать из верхушки стека. LR предоставляет всего лишь информацию о режиме, в котором находилось ядро до возникновения исключения.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 3 2010, 13:59
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(bseyur @ May 3 2010, 16:00) *
А изначально стек где находился?
На счет регистра LR вы не правы. При переходе в режим исключительной ситуации адрес возврата нужно выгребать из верхушки стека. LR предоставляет всего лишь информацию о режиме, в котором находилось ядро до возникновения исключения.

Я в этом совсем "зеленый". Вот код из startup_stm32f10x_hd.s
Код
; Reset handler routine
Reset_Handler   PROC
                EXPORT  Reset_Handler             [WEAK]
                IMPORT  __main

                LDR     R0, = SystemInit_ExtMemCtl; initialize external memory controller
                BLX     R0

                LDR     R1, = __initial_sp       ; restore original stack pointer
                MSR     MSP, R1                  

                LDR     R0, =__main
                BX      R0
                ENDP

После сброса стек в 0x20000400. После команды MSR в MSP загружается 0x64000400. Потому что в свойствах проекта я задал, что есть внешнее ОЗУ по адресу 0x64000000 размером 0x40000. Есть и еще пара устройств на шине. Почему стек прицепился к этой области, мне невдомек.
Потом скачет в main и где-то там заскакивает в HardFault.
Go to the top of the page
 
+Quote Post



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

 


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


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