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

 
 
> STM32F4: странный эффект после Erase Sector Flash
k000858
сообщение Jun 19 2014, 06:06
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Стираю определенный сектор, проверяю сектор - везде 0xFFFFFFFF (то есть чисто), перезапускаю контроллер (по питанию или дебаггером), проверяю сектор на чистоту - везде 0
Эффект проявляется в 1 из 5-30 случаев интерации цикла: включение, чтение, стирание, чтение, сброс.

Кто нибудь сталкивался с подобным?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
k000858
сообщение Jun 19 2014, 11:06
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Итак. нашлась причина эффекта. как устранить пока не придумал.

В общем подробности работы со флэш: все операции производятся для эмуляции еепром в о флэш, расположенной в секторах 2 и 3. Сама прошивка укладывается в секторы 0 и 1.

в секторе 4 расположена секция, прописанная в скрипте линкера




Код
FLASHB1 (rx) : ORIGIN = 0x08010000, LENGTH = 8

     * The FLASH Bank1.
     * The C or assembly source must explicitly place the code
     * or data there using the "section" attribute.
     */
    .b1text :
    {
        *(.b1text)                   /* remaining code */
        *(.b1rodata)                 /* read-only data (constants) */
        *(.b1rodata.*)
    } >FLASHB1


в этой секции располагается константа uint8_t data_in_flash[8] __attribute__((section(".b1rodata"))) не спрашивайте зачем. так надо.

дак вот именно расположение этой константы каким то образом "портит" содержимое секторов 2 и 3 где эмулируется еепром. отсюда все глюки: появление 0 после резета и тд.

По мап файлу видно, что ничего никуда не наползает, все находится в своих местах. как константа в 4м секторе флэш влияет на данные из 2 и 3 секторов хоть убей не понимаю.

Быть может у кого нибудь есть мысли ???
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- k000858   STM32F4: странный эффект после Erase Sector Flash   Jun 19 2014, 06:06
- - scifi   Осмелюсь предположить, что ваша программа сама зап...   Jun 19 2014, 06:53
|- - k000858   Цитата(scifi @ Jun 19 2014, 10:53) Осмелю...   Jun 19 2014, 07:12
|- - Сергей Борщ   Цитата(k000858 @ Jun 19 2014, 10:12) нет,...   Jun 19 2014, 08:37
|- - scifi   Цитата(Сергей Борщ @ Jun 19 2014, 12:37) ...   Jun 19 2014, 08:42
|- - k000858   Цитата(Сергей Борщ @ Jun 19 2014, 12:37) ...   Jun 19 2014, 08:49
|- - scifi   Цитата(k000858 @ Jun 19 2014, 12:49) отла...   Jun 19 2014, 08:59
|- - Сергей Борщ   Может отладчик при запуске переписывает? Скажем, з...   Jun 19 2014, 11:13
|- - k000858   Цитата(Сергей Борщ @ Jun 19 2014, 15:13) ...   Jun 19 2014, 11:18
||- - Сергей Борщ   Цитата(k000858 @ Jun 19 2014, 14:18) обла...   Jun 20 2014, 07:16
||- - k000858   Цитата(Сергей Борщ @ Jun 20 2014, 11:16) ...   Jun 20 2014, 09:55
||- - Сергей Борщ   Цитата(k000858 @ Jun 20 2014, 12:55) дост...   Jun 20 2014, 10:18
|- - scifi   Цитата(Сергей Борщ @ Jun 19 2014, 15:13) ...   Jun 19 2014, 11:36
- - k000858   Вчера чуть голова не вспухла от таких выкрутасов. ...   Jun 20 2014, 04:20


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

 


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


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