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

 
 
> Програама виснет на старте.
Oleg_IT
сообщение Oct 23 2013, 06:04
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Мк LPC2478 с 256Мб внешней памяти, среда разработки Keil. После того как в программу добавил библиотеку она перестала доходить до main-а. Предполагаю, что ей не хватает памяти стека. Как ни пытался в конфигураторе LPC2400.s увеличивать значения ни чего не помогает. Может я не правильно ошибку понимаю? Как запустить программу?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
megajohn
сообщение Oct 23 2013, 06:26
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



в дизасме поставить бряк на адресе 0x00000000 ( или в иар убрать checkbox на Run to main )
И по шагово прогулятся до main. Вообще в стартапе для контроллеров с внешней памятью должен выполняться SystemInit для иннициализации внешней памяти. А уже потом иннициализация переменных для сишного кода и потом уже main.
так же проверьте не вызывается ли MemManage_Handler BusFault_Handler UsageFault_Handler HardFault_Handler


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Oct 23 2013, 10:54
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Вижу где происходит падение программы, но как исправить не знаю.

Рисунок rt_lib.PNG, программа переходит по адресу 0x0004b1, т.е. в никуда, рисунок rt_lib_1.PNG это следующая команда после перехода, больше ни куда программа не идёт.
Функций MemManage_Handler BusFault_Handler UsageFault_Handler HardFault_Handler не вижу.


И ещё, скажите правильно я меня переменная Size инициализирована, рисунок Mem.PNG?
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
megajohn
сообщение Oct 23 2013, 11:07
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



а, у вас же не cortex а arm7, и там нет то что я описал, а есть
0x0000 0004 Undefined Instruction
0x0000 0008 Software Interrupt
0x0000 000C Prefetch Abort (instruction fetch memory fault)
0x0000 0010 Data Abort (data access memory fault)

и вы собтсвенно попадаете на Data Abort. Чисто предположение что либа скомпилена для Thumb (так как нечетный адрес) а вы юзаете ARM режим.

попробуйте изменить в настройках Code Generation

Я в режимах ARM7 мало разбираюсь, могу и ошибаться


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Oct 23 2013, 12:33
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Решил проблему. Нужно было Thumb Mode во вкладке ASM поставить и MicroLIB во вкладке Target.
Только как об этом с самого начало догадаться.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 23 2013, 13:54
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Oleg_IT @ Oct 23 2013, 15:33) *
Только как об этом с самого начало догадаться.
Читать документацию, исходники?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Oct 24 2013, 04:30
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(Сергей Борщ @ Oct 23 2013, 17:54) *
Читать документацию, исходники?

Так и прочитал наконец тоsm.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 19:33
Рейтинг@Mail.ru


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