Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Другие темы раздела
ARM, Cortex, STM32 STM32L052, замена батареек https://www.cyberforum.ru/ arm/ thread2089688.html
Привет всем. Сейчас в разработке низкопотребляющее устройство на контроллере STM32T052 (регулятор температуры с недельной программой). Экран - Нокиа 5110. Питание - 2 батарейки АА. Можно ли как-то...
Размер операции ARM, Cortex, STM32
Ребят, такой вопрос: пишу код (простой как веник), никого не трогаю, компилю - все ок. Смотрю а весит аж 6,5 кБ! Ну вроде немного. но предыдущая компиляция пару строк назад давала 2кБ! Начинаю рыть...
ARM, Cortex, STM32 А вот как можно закинуть в прошивку ее собственный CRC
Тема для тех,кто пользуется keil-ом.Иногда стоит задача следующего типа...При включении питания на моем изделии сначала стартует загрузчик,который по определенному алгоритму считает CRC,сравнивает...
ARM, Cortex, STM32 ATSAM4SD32C что происходит Здравствуйте. Пытаюсь освоить ATSAM4SD32C установленный на плате SAM4S-EK2, но возникла проблема. Приведу код #include "sam.h" int dout = {300, 800, 1300, 1800, 2300, 2800, 3300, 0}; int n = 0;... https://www.cyberforum.ru/ arm/ thread2089685.html
ARM, Cortex, STM32 STM32 при отладке JTAG в дизасме какие-то левые команды.... https://www.cyberforum.ru/ arm/ thread2089684.html
Подробнее о проблеме, начал изучать ARM купил себе платку STM32F102C8T6: ARM Sortix-M3 STM32F103C8T6 Minimum System Shyp Development Board STM32 48 Pin Boot.s и LD использовал из STM Сube. В...
одноплатный компьютер в качестве интерфейсного модуля? ARM, Cortex, STM32
добрый день! такая ситуация: разрабатывается некий лабораторный измерительный прибор в настольном исполнении, в котором в том числе необходимо реализовать ввод данных от оператора, и вывод на...
ARM, Cortex, STM32 Для чего здесь нужен транзистор???
Доброго времени суток!!! Пытаюсь разобраться с этой схемой. Взята она с даташита отладочной платы STM32F4 DISCOVERY. Главный вопрос - для чего здесь нужен транзистор??? Еще вопросы - для чего...
ARM, Cortex, STM32 ARM S4LJ162X01 Есть нужда прошить по JTAG принтеры ML-2160, ARM S4LJ162X01 на ядре ARM926EJ-S. Так как мануалы и прочая инфа пр форматеру и ARM не доступны даже для региональных сервисников, у меня есть вопрос.... https://www.cyberforum.ru/ arm/ thread2089681.html
ARM, Cortex, STM32 Ищу извлечение корня быстрее, чем arm_sqrt_q15 (ARM без FPU) https://www.cyberforum.ru/ arm/ thread2089680.html
Интересует как наиболее быстро извлечь корень на ARM, а именно на stm32f103. Без FPU, в целых числах. Искал, пробовал алгоритмы. Например, такой: uint16_t int_sqrt32(uint32_t x) { uint16_t res=0;...
ARM, Cortex, STM32 выполнение из произвольного участка памяти flash (решено) Возникла следующая проблема с контроллером на ядре cortex m4. Я копирую код существующей функции из внутренней flash в произвольный адрес во внутренней flash, а потом пытаюсь выполнить "новую"... https://www.cyberforum.ru/ arm/ thread2089679.html
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 270
0

FATFS и HardFault

22.07.2015, 16:51. Просмотров 3167. Ответов 1
Метки (Все метки)

Доброго времени суток!

Играюсь с LPC1769 (ARM M3). точнее прикручиваю Fat_FS. В процессе возникла проблемма с вылетом в Hord_Fault.
Возникает он из-за обращения в кусок памяти отмеченный в ДШ как "reserved". Происходит это из-за того что в
недрах ff.c появляется указатель на переменную типа FATFS которая какбэ лежит за пределами доступного диапазона адресов... вот:
картинка

Как можно порешать эту заковыку?

Как это происходит:

Хочу прочить что лежит в корне флешки: f_opendir, f_readdir( read - кручу в цикле пока не появится имя элемента равное "\0").
Когда в корне 1 файл все ок, но стоит кинуть больше как происходит вылет в Hord_Fault.

Тыкался шагами по программе в Jtag, обнаружил что выход за границы памяти довольно часто происходят.
Это я что-то не так пишу/настраиваю или это у многих возникает?

Юзаю либу от Morsh 9, 2015. в среде LPCXpresso.
Чтение и запись в файлы и создание файлов вроде ок-норм работают, что говорит о правильности работы функций работы с флешкой.
Проблема возникла именно при работе с папками:
кусок кода
Код
         LCD_Clear();

res = f_getcwd(FF_BUFFER, 120);               //__Определение активной дирректории
if(res != FR_OK)
{
MEMORY_MODE = 1;
return;
}

res = f_opendir(&FOLDER, DNAME);               //__Открытие активной дирректории
if(res != FR_OK)
{
MEMORY_MODE = 1;
return;
}

do
{
res = f_readdir(&FOLDER, &FINFO);        //__Чтение директории
if(res != FR_OK)
{
MEMORY_MODE = 1;
return;
}

LCD_Send_string(FINFO.fname);            //__Вывожу прочтенное имя на дисплей
temp += Str_len(FINFO.fname);             //__Увеличиваю переменную на длину имени файла (для контроля длинны записи на дисплей).
if((temp + 1)>20)                                //__Если уже "карй" дисплея то перехожу на другую строку и обнуляю temp.
{
temp = 0;
i++;
LCD_Goto_XY(0,i);
}
else
{   LCD_Send_sym( );                     //__Если "карй" дисплея еще не достигнут то вывожу пробел.
}

}
while(FINFO.fname[0] != \0);               //__Чтение дирректории до тех пор пока не найду все обьекты в ней.

MEMORY_MODE = 3;
briok;
Код далек от идела, оно и не надо это просто для того чтобы потестить все функции фатки.

Вернуться к обсуждению:
FATFS и HardFault
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2015, 16:51
Готовые ответы и решения:

STM32F103C8 FATFS SPI EEPROM. Hardfault при вызове f_close
Доброго времени суток. Пытаюсь развернуть FATFS на мегабитной SPI EEPROM. Столкнулся с проблемой...

Отладка HardFault
С праздником, коллеги! Иногда у меня выскакивает HordFault. Где и почему? Ответ на этот вопрос...

STLink HardFault LR = 0xfffffff9
Народ, нужна помощь. Уже месяц периодически возвращаюсь к этому. Устройство на stm32f030f4p6. Благо...

Указатель на FLASH отправляет в HardFault
Всем привет. Понадобилось сохранять данные во Ftosh. Сделал uint32_t *p = (__IO uint32_t...

1
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.