Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: HardFault на вызове vPortStartFirstTask()
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > FreeRTOS
inventor
проблема такая, есть русский контроллер миландр 1986ВЕ3
на котором я пытаюсь запустить FreeRTOS
если программа работает из внутренней Flash то все ОК
если из внешней, то вылетает на вызове vPortStartFirstTask()
при старте Scheduler
порт freertos для этого контроллера (CORTEX M1)
сделан из Cortex M0
в документации на контроллер есть errata
которая говорит что с SysTick проблемы при работе на частотах
выше 30 МГц
в качестве Systick используется TIMER4
внешняя память имеет 3 цикла ожидания
сам контроллер работает на частоте 72 МГц
подскажите, где копать!

upd
если функцию описать как __ramfucn
происходит то же самое
даже если внешнюю память не использую
jcxz
Цитата(inventor @ Oct 5 2017, 17:04) *
подскажите, где копать!

Копать в регистрах описания причины HardFault.
inventor
Цитата(jcxz @ Oct 5 2017, 13:30) *
Копать в регистрах описания причины HardFault.

Hardware init OK
[Hard fault handler]
R0 = 0xfffffffd
R1 = 0x0
R2 = 0x18db
R3 = 0x0
R12 = 0x0
LR = 0x0
PC = 0x0
PSR = 0x200001c4

что это даст?
IAR не все регистры выводит
нет регистра настройки внешней шины
и некоторых других


В документации про регистра HardFault написано :
Более подробно данный вопрос рассмотрен в разделе «Обработка отказов».
но такого раздела нет
есть ли како нибудь подобный контролре в
сравеникоторым это можно выяснить?
jcxz
Цитата(inventor @ Oct 5 2017, 18:01) *
что это даст?

Это не даст почти ничего. Разве что можно предположить, что возможно Вы где-то передаёте управление на адрес 0.
Ещё раз внимательнее перечитайте мой совет если не поняли.

Цитата(inventor @ Oct 5 2017, 18:01) *
В документации про регистра HardFault написано :

Откройте мануал на ядро (Cortex-M). Там есть полное описание регистров, описывающих причину и место HardFault.
http://infocenter.arm.com/help/index.jsp
inventor
да, спасибо
смотрю pdf.
к сожалению сам миландр ничего не написал ни об эьих регистрах
ни как все это вытащить, ни как использовать
тяну с помошью интринсиков которые описаны в CMSIS
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.