Перейти к содержанию
    

HardFault на вызове vPortStartFirstTask()

проблема такая, есть русский контроллер миландр 1986ВЕ3

на котором я пытаюсь запустить FreeRTOS

если программа работает из внутренней Flash то все ОК

если из внешней, то вылетает на вызове vPortStartFirstTask()

при старте Scheduler

порт freertos для этого контроллера (CORTEX M1)

сделан из Cortex M0

в документации на контроллер есть errata

которая говорит что с SysTick проблемы при работе на частотах

выше 30 МГц

в качестве Systick используется TIMER4

внешняя память имеет 3 цикла ожидания

сам контроллер работает на частоте 72 МГц

подскажите, где копать!

 

upd

если функцию описать как __ramfucn

происходит то же самое

даже если внешнюю память не использую

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Копать в регистрах описания причины 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 написано :

Более подробно данный вопрос рассмотрен в разделе «Обработка отказов».

но такого раздела нет

есть ли како нибудь подобный контролре в

сравеникоторым это можно выяснить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что это даст?

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

Ещё раз внимательнее перечитайте мой совет если не поняли.

 

В документации про регистра HardFault написано :

Откройте мануал на ядро (Cortex-M). Там есть полное описание регистров, описывающих причину и место HardFault.

http://infocenter.arm.com/help/index.jsp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, спасибо

смотрю pdf.

к сожалению сам миландр ничего не написал ни об эьих регистрах

ни как все это вытащить, ни как использовать

тяну с помошью интринсиков которые описаны в CMSIS

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...