Jump to content
admin

Запись Данных По Flash Память Напрямую С Coide

Recommended Posts

Вопрос такой, известно, что у большинства STM32 нет EEPROM памяти и данные нужно хранить в Flash памяти. С чтением и записью данных я разобрался, данные (настройки) храню в последней 127 странице памяти. Эти самые настройки я передаю по UART, только вот проблема такая, что мне нужно при прошивке МК и первом запуске программы, эти настройки напрямую записать в память, т.е. дефолтные. В CooCox CoIDE я такого не нашел. Возможно вообще такое?

Share this post


Link to post
Share on other sites

Здравствуйте.

Если ещё актуально ..

С STM32 пока дел не имел, но можно просто при каждом запуске прошивки проверять, есть ли там данные (например, если все ячейки равны FF, то ничего там нет).

Если там пусто - прошивать умолчания.

Насчёт прошивки - в разных средах есть файлики, которые говорят линкеру, куда чего писать. Я пользуюсь IAR-ом, у него есть файлы .icf, там сидят эти адреса. Хотя никогда не пользовался. Знаю лишь теоретически :) .

Share this post


Link to post
Share on other sites
С STM32 пока дел не имел, но можно просто при каждом запуске прошивки проверять, есть ли там данные (например, если все ячейки равны FF, то ничего там нет).

Если там пусто - прошивать умолчания.

Да, я так и сделал, просто было интересно именно насчет CoIDE, но по видимому там такое не предусмотрено

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Эти самые настройки я передаю по UART, только вот проблема такая, что мне нужно при прошивке МК и первом запуске программы, эти настройки напрямую записать в память, т.е. дефолтные.

Здравствуйте! Создайте массив во флэш памяти нужного Вам размера, и загоните значения которые Вам надо. Это если Вам не нужно будет их в дальнейшем изменять.

Если нужно будет изменять данные, а на борту ЧИПа нету еепром - придется прикручивать внешнюю память 24Схх

Посмотрите в хелпе к компилятору как объявить массив.

Edited by Bokopor

Share this post


Link to post
Share on other sites

Изменять данные в последствии нужно. Как загонять туда данные я знаю. EEPROM на борту присутствует у STM32.

Вопрос тут в другом

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

Подробнее...

При резервировании области flash под еепром, скорее всего объявляется массив с необходимым размером. Если это так, то можно при объявлении прописывать дефолтные значения, типа:

const flash   ee_flash_arr[1024]={0x00, 0x01, 0x02,... };

Share this post


Link to post
Share on other sites

А разве в программе можно флэш перезаписывать? :unknw:

Она-же вроде только раз может записаться.. при прошивке.

Анатолий, если Вам надо будет менять значения в дальнейшем а в STM32 нету еепром, то Вам придется использовать внешнюю память, как не крути...

Самое маленькое и простое это 24Схх или 93Схх соответственно I2C и SPI . Скорость работы у 93 серии выше чем у 24.

Share this post


Link to post
Share on other sites

У STM32 есть энергонезависимая флэш, просто она совмещенная. Данные там нормально можно хранить, записывать и считывать, вот рабочий код: http://forum.cxem.ne...3

Share this post


Link to post
Share on other sites
В 27.11.2012 в 10:31, admin сказал:

нужно при прошивке МК и первом запуске программы, эти настройки напрямую записать в память, т.е. дефолтные. В CooCox CoIDE я такого не нашел. Возможно вообще такое?

-- У меня тот же вопрос: Кто нибудь уже решил проблему ? 

Использую stm32f103с8 память 64К, нужно разместить дефолтные калибровки на 64 странице(FLASH_PAGE_63   0x800FC00) в CooCox CoIDE. 

Share this post


Link to post
Share on other sites
В 07.07.2017 в 12:15, Zhuk72 сказал:

Второе сообщение. Пробуйте.

-- Спасибо! Пока ничего не получилось. 

С указанием адреса там только последний пример (е). Вставляю код:

const unsigned long const Table[200] __attribute__ ((section(".Table")))={ 0 } ;//;

//linkscript add the like this:
?rom(rx): ORIGIN = 0x0800FC00, LENGTH = 0x00000100
.Table : { (0,0) } //> rom

на строке со знаком вопроса(перед rom(rx)) пишет:

Цитата

Multiple markers at this line
    - Syntax error
    - Missing ;

Share this post


Link to post
Share on other sites

Так ведь второе надо не в код добавлять, а куда-нибудь в настройку линкера.

Там же так и написано, правда криво, вероятно онлайн переводчиком с китайского.

Share this post


Link to post
Share on other sites

Форумчане, коллеги! Подскажите, пожалуйста. CoIDE выдает вот такую ошибку при записи во флешпамять:  Error: Connect failed, check config and cable connection. Со шнуром USB всё в порядке, ST-Link Utility установил. Но в диспетчере устройств драйвер STM32 почему-то именно в разделе дисковых устройствах отображается(в контроллерах USB его нет). На отладочной плате Discovery горит Красный светодиод. Настройки дебаггера в CoIDE прилагаю. Спасибо.

Настройки дебаггера.

stm32_debugger_settings.JPG

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By svd
      Предлагаю печатные платы для паяльной станции на STM32 и OLED дисплее 1,3" версии 2.1S
      Плата делалась под китайский алюминиевый корпус.
      Тема, где обсуждается данная станция T12 , опубликована на сайте radiokot.ru
      Фото платы


      Схема немного доработана:
      1) добавлены блокировочные конденсаторы 0,1 мкФ в цепях микроконтроллера;
      2) добавлен резистор в цепи буззера для возможности снижения громкости;
      3) есть возможность подключать жала JBC (для Т12 в разъеме паяльника запаивается перемычка)

      Большинство элементов типоразмера 0603. DC/DC преобразователь PSR-7805LF можно заменить на любой китайский аналог или микросхему 7805
      Ссылки на возможные замены:
      DC/DC аналог 7805 №1
      DC/DC аналог 7805 №2

      Во вложениях схема и расположение элементов на ПП, чертеж передней панели и прошивка под дисплей 1.3" с контроллером SH1106.

      Цена за одну плату 400 руб c учетом стоимости пересылки по РФ. Количество плат ограничено.
      По всем вопросам просьба обращаться в личку.
       
      STM32_T12_2.1S_SSH1106_1.3_v2_.pdf передняя панель.pdf T12_HW21S_Encryption-SH1106.zip
    • By ART_ME
      Здравствуйте.
      Рискну спросить: не завалялась ли у кого в хозяйстве для STM32F103xx: 
      - AC induction motor IFOC software library V1.0
      либо 
      - ACIM and PMSM motor control software libraries release 2.0
      ?
      Просьба поделиться если вдруг такой раритет найдется. 
       
    • By Илья Юрченко
      Добрый день, уважаемые форумчане! Для научной работы хотел собрать данные о том, насколько микроконтроллеры stm32 удовлетворяют нужды и требования программистов и разработчиков продуктов на нем. Если не сложно, ответьте, пожалуйста, важны данные)
      Разумеется "очень средне" неадекватная метрика, но в рамках работы нужна именно средняя удовлетворённость, и определение существует ли необходимость в создании другой серии универсальных плат на базе МК.
    • By n_angelo
      Привет. Хочу узнать ваше мнение. Я новичок в embedded. Можно сказать, что пришел с веба. Малость Python, JS, C. Меня, конечно, предупреждали начать с AVR, но я уверенный в себе решил сразу залезть на STM32. Вынашивая идею для проекта, параллельно курив Reference Manual и Data Sheet по STM32, я понял что его будет слишком жирно для проекта. Я перескочил на STM8L. И тут меня начал огорчать мир embedded. При переходе между stm8 и stm32 нужно менять IDE (TrueStudio на STVD). Во избежание таких курьёзов я пересаживаюсь на IAR. В процессе подключения родной библиотеки от ST, понимаю что библиотека от IAR для того же самого STM8L152C6T6 дико отличается (макросы, структуры). Привет веб-разработка. Как такое могло произойти, что под один и тот же контроллер ST даёт одну библиотеку, а IAR другую. И нигде в уроках тебя не предупредят об этом. Ну, ребят, у меня всего одна жизнь. Вы уже договоритесь там между собой? Придите к единому стандарту. Или они так решили новичков завендерлочить? Моё мнение (не претендует на правильное): пробираясь сквозь тернии популярной архитектуры ARM, инфраструктуры, инструментария, забываешь про бизнес-логику устройств. А еще просто пропасть между "я ничего не понимаю" и "господи, я зажег светодиод". Речь не о копипастерах с уроков, а действительно понимая что ты делаешь, в каком регистре, что меняешь. Это путь в 2000 (а то и больше) страниц на английском перечитанных по несколько раз, чтобы отоложилось. И в конце тебя ждут разные версии одной и той же библиотки в разных IDE. И сидишь вдупляешь... ну почему... я же в правильный регистр кладу правильную маску... ох, наболело. Такое ощущение что не для людей это всё делали, не для людей.
      Ваше мнение?
  • Сообщения

    • Видел как разгружали фуру китайцы,груз несут, обратно бегом , наши с перекура начали, да засмотрелись и не успели ... Их обороты наверное с нашими не сравнить, весь мир уже у них покупает
    • 2005 это уже почти не Худ :))) исходный очень капризен к удержанию половины напряжения...  немного изменил смещение первого транзистора вроде стало лучше... Я заметил Худ первого поколения в клиппинг входит плавно, мягко наверное поэтому его любят... 
    • Я все с тем же вопросом по блоку питания.. Есть ли разница в цементных резисторах типа SQP и SQM у меня был установлен вертикальный SQM мне кажеться, что этот тип не много мощней как-то выглядит..(выводы и сам он больше) Можно заменить SQM на SQP раннее писал, что он рассыпался, через некоторое время.. Вот фото первый, второй Меняю 5w 5.1
    • Простите, погорячился конечно, некоторые фото действительно интересны, но вот зачем размещать 8 11 фото готового трансформатора? Да и некоторые другие тоже дублируются, фото разные а содержание одно и тоже, вот я про что. Вполне достаточно 1 тщательно выбранного.
    • Один драйвер, но мигают по очереди?прикалываешься?
    • Что?В прошлом году собирал версиюJLH2005(в фотогалерее усилителей фотки есть),лет 15 назад,JLH1969,тоже ради спортивного интереса.Хм...обычный усь,ни чем не выделяющийся,с завышенным энергопотреблением и тепловыделением.ИМХО.
    • А Худ у тебя классический или измененный? Если измененный то схемку твою посмотреть... мутаций много в инете... Потом, ток покоя у тебя какой и напряжение... мне интересен этот аппарат пока не собирал его, изучаю... Пока кручу его в симуляторе... есть свои размышления... 
  • Покупай!

×
×
  • Create New...