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

STM32h743 стирание данных из флешь

4 hours ago, HardEgor said:

Температура корпуса и температура кристалла это две большие разницы. А датчик измеряет температуру кристалла.

Что-то меня заинтересовало это.

Запустил измерение с внутреннего датчика температуры.

И получил температуру перегрева кристалла примерно 28 градусов.

Показания довольно сильно скачут - примерно +- 1,5 градуса.

Температуру окружающей среды померять нечем, поэтому принял ее за 25 градусов.

Да, плата моя четырехслойная толщиной 2 мм.

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


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

5 часов назад, dimka76 сказал:

Если я правильно понял, то ваши 43 градуса это перегрев относительно температуры окружающей среды, а у меня перегрев примерно 20 градусов.

Я полагаю, что макрос:

__LL_ADC_CALC_TEMPERATURE

должен выдавать реальную температуру.

Цитата

Caution: Calculation relevancy under reserve the temperature sensor of the current device has characteristics in line with datasheet typical values.
 If temperature sensor calibration values are available on on this device (presence of macro __LL_ADC_CALC_TEMPERATURE()),
 temperature calculation will be more accurate using helper macro @ref __LL_ADC_CALC_TEMPERATURE().

Работа этого макроса соответствует формуле из Мануала:

1475528741_.png.6b0bdc5a5ad0570572c4262274dc459d.png

Из формулы (простая пропорция) видно, что сенсор тестировали на фабрике при двух температурах: 30°C и 110°C, получив при этом от АЦП два числа - TS_CAL1 и TS_CAL2, соответственно.

А поскольку число 30 они прибавляют, то результатом является обычная температура, а не смещение относительно комнатной.

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


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

Зачем сделали выбор программирования 

PSIZE1: Bank 1 program size
PSIZE1 selects the parallelism used by the non-volatile memory during write and erase 
operations to bank 1. PSIZE1 can be programmed only when LOCK1 is cleared to 0.
00: programming executed with byte parallelism
01: programming executed with half-word parallelism
10: programming executed with word parallelism
11: programming executed with double word parallelism

Все равно пишешь 32 байта. Размер буфера 32 байта.

Изменено пользователем Alex_Golubev

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


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

4 часа назад, Alex_Golubev сказал:

Зачем сделали выбор программирования 

потому что при разных напряжениях питания можно записать не более скольки-то бит за раз. В более старых STM32 для каждого из x8, x16, x32 были свои диапазоны напряжений, у H7, судя по всему, осталось только два:

image.thumb.png.f17c08137fac3a51a214ec81d5023db2.png

Также отличается потребляемый ток:

image.thumb.png.bc46134f179f6de729737da270eefda2.png

и затрачиваемое время:

image.thumb.png.0d9c42691d72196b7fa5a62e29f81275.png

Выбирайте наиболее подходящее для вашего устройства сочетание.

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


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

В продолжение темы. Не могу не как придумать рабочий код для работы с файлами. В общем структура следующая. 

Есть заголовок файла:

1. название файла

2. расширение (.txt)

3. Размер 

4. адрес где расположен файл 

5. crc файла 

Заголовок выравнен на 4 байта во избежания пробелов в памяти.

Размер заголовка 32 байта может быть и 64 байта. Заголовков будет 256 штук. Как правильно поняли и файлов может быть 256 штук. 

В памяти выделены сектора для записи файла размер одного сектора 4096 байт. Файл может помещается как в один сектор так и в более 2...3.....

Все вроде просто, но у нас размер сектора 128кбайт. А мне допустим нужно перезаписать 3 заголовок и занимаемые им сектора. Понимаю что без буфера тут ни как. Ну выделять 128 кбайт оперативки тоже не правильно. Нужно решение . 

 

 

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


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

13 минут назад, Alex_Golubev сказал:

В продолжение темы. Не могу не как придумать рабочий код для работы с файлами. В общем структура следующая.

FAT16

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


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

У меня аппаратный размер сектора 128 кбайт. 

А секторов всего 10 штук свободных.

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


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

2 часа назад, Alex_Golubev сказал:

У меня аппаратный размер сектора 128 кбайт. 

А секторов всего 10 штук свободных.

И? разбей их на необходимое количество логических секторов. Со стирание физического сектора будет проблема, но она решается отдельным алгоритмом.

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


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

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

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

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

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

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

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

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

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

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