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

 
 
 
Reply to this topicStart new topic
> Портирование на LPC2103
tonyk_av
сообщение Apr 14 2016, 09:47
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 8-07-13
Пользователь №: 77 435



Коллеги!

Давно не работал с микроконтроллерами, но вот пришлось... Последним был ADuC845 на ядре MCS-51. Сейчас пришлось осваивать LPC2103. Учитывая то, что мне предстоит дальше, решил сразу начать работу под FreeRTOS. Эту штуку использовал раньше под AVR и остался вполне доволен. Для 51-ых программировал под Keil, решил и тут воспользоваться им.

И тут началось... С архитектурой ARM7 пока знаком плохо, поэтому не могу понять причину вылета в DAbt_Handler при вызове vPortStartFirstTask(). Дайте пинка, чтоб я смог взлететь! Растолкуйте, в чём причина ошибки и как её исправить. Проект во вложении.
Прикрепленные файлы
Прикрепленный файл  8DI.ZIP ( 241.44 килобайт ) Кол-во скачиваний: 15
 
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 14 2016, 10:06
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Смотрите что Вы за галочки понаставили в проекте. Судя по тому, что Вы лихо потребовали в конфигурации RTOS 24K RAM только на хип в чипе с 8K RAM, и Вам ее "дали", то конфигурация линкера у Вас от фонаря. Ну нету столько памяти в этом чипе.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
tonyk_av
сообщение Apr 15 2016, 04:22
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 8-07-13
Пользователь №: 77 435



Проверил. Было

#define configTOTAL_HEAP_SIZE ( ( size_t ) 4 * 1024 ) - просил 16К

Стало

#define configTOTAL_HEAP_SIZE ( ( size_t ) 1 * 1024 ) - прошу 4К

Раскладка памяти:





Результат тот же. Куда рыть?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 15 2016, 05:07
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (tonyk_av @ Apr 15 2016, 07:22) *
Куда рыть?

Рыть туда, где можете получить ответ как это Ваш проект затребовавший дивное количество памяти собирался линкером без воплей о фатальной ошибке. После этого смотреть на то, какие размеры стеков заданы.
Тут http://electronix.ru/forum/index.php?showt...t&p=1418769 , кстати, случайно оказался как раз конфигурационный файл именно под LPC2103. В нем есть свои нюансы связанные с отличиями в реализации RTOS, но для общего обзора годится.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
tonyk_av
сообщение Apr 15 2016, 05:58
Сообщение #5





Группа: Новичок
Сообщений: 4
Регистрация: 8-07-13
Пользователь №: 77 435



Я же поправил

#define configTOTAL_HEAP_SIZE ( ( size_t ) 1 * 1024 ) - прошу 4К

Или это не 4К?

Посмотрел ссылку. Там конфиг для gcc, а у меня Keil с Армовским компилятором. Есть и проект FreeRTOS под gcc, но там Startup сильно отличается от того, что в Keil. Я потому и прошу помощи, что изучать ассемблер ради поиска лишнего нолика в каком-то файле для меня на данном этапе- непозволительная роскошь.

Видите ошибку - укажите на неё, а указывать менторским стилем на 24К без указания на то, откуда взята эта цифра, простите, моветон.
Go to the top of the page
 
+Quote Post
AleksBak
сообщение Apr 15 2016, 06:30
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 132
Регистрация: 6-02-16
Из: г. Баку
Пользователь №: 90 364



Цитата(tonyk_av @ Apr 15 2016, 09:58) *
... Я потому и прошу помощи, что изучать ассемблер ради поиска лишнего нолика в каком-то файле для меня на данном этапе- непозволительная роскошь.

Видите ошибку - укажите на неё, а указывать менторским стилем на 24К без указания на то, откуда взята эта цифра, простите, моветон.
с
Я бы на Вашем месте не претензии начал предъявлять, а начал бы с чего-нибудь попроще. Вы постом ранее спросили "куда рыть" и это был еще нормальный пост по сравнению с последующим (я подумал начнете осторожно спрашивать/интересоваться далее и т.п., но нет сразу пошли претензии). Вам ответ - ройте в сторону небольшого проекта типа "Hello world". Изучите досконально в нем все вопросы по рисунку 4, что здесь привели, а потом уже переходите на более сложный проект. И претензии не надо предъявлять.
Go to the top of the page
 
+Quote Post
tonyk_av
сообщение Apr 15 2016, 06:39
Сообщение #7





Группа: Новичок
Сообщений: 4
Регистрация: 8-07-13
Пользователь №: 77 435



Я претензий ни кому не предъявляю.

Вижу, что здесь куча умников, а не знатоков, которые могут поправить ошибку человека. Буду искать помощи в другом месте.

Тема закрыта.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 15 2016, 08:50
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (tonyk_av @ Apr 15 2016, 08:58) *
Я же поправил

Вы можете поправлять что и где угодно. Но, повторю последний раз - проблемы начинаются уже РАНЬШЕ, ибо первоначальный вариант просто не имел никакого права вообще собираться.
Вот с выяснения причин почему он вообще собрался и начинайте. Сделали Вы что-то для этого в вашем посте "поправил" не говорится ничего.
QUOTE
Видите ошибку - укажите на неё, а указывать менторским стилем на 24К без указания на то, откуда взята эта цифра, простите, моветон.

Взята, естественно, из выложенного Вами проекта:
CODE
#define configTOTAL_HEAP_SIZE        ( ( size_t ) ( 24 * 1024 ) )

QUOTE
Посмотрел ссылку. Там конфиг для gcc, а у меня Keil с Армовским компилятором

Там конфиг не под GCC, но под binutils. А приводился он для того, что бы дать Вам представление о том, что есть еще много разных НЕОБХОДИМЫХ дефиниций размеров областей RAM.

QUOTE (tonyk_av @ Apr 15 2016, 08:58) *
#define configTOTAL_HEAP_SIZE ( ( size_t ) 1 * 1024 ) - прошу 4К

Или это не 4К?

Вы, конечно, не поверите, но это таки не 4K. Начните с арифметики и языка Си, ибо size_t это не sizeof, или что там Вам подумалось еще.

QUOTE (tonyk_av @ Apr 15 2016, 09:39) *
здесь куча умников, а не знатоков, которые могут поправить ошибку человека. Буду искать помощи в другом месте.

Баба с возу - кобыле легче.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:04
Рейтинг@Mail.ru


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