Jump to content

    

Keil, ARM, CMSIS. Настроить HEAP на этапе выполнения.

2 minutes ago, Intel4004 said:

Тогда второй вопрос: а как к этому отнесется Keil RTX ?

Нормально отнесется, просто, не надо использовать эту кучу в Keil RTX, там есть такая возможность. Я так делаю. Такую же ось использую, перешел на нее с freeRTOS.

Штатная куча у меня всего 16 байт, опытом установлено, что это - необходимый минимум.

Share this post


Link to post
Share on other sites

Возможность перепутать конфигурацию EEPROM ни чуть не меньше чем версии прошивки. И да, пара десятков прошивок из одного исходника это за гранью добра и зла. Если что, eeprom можно считать до старта всего и вся. Да и размер распаяной памяти несложно определить без всяких EEPROM.

Share this post


Link to post
Share on other sites
5 minutes ago, Forger said:

Нормально отнесется, просто, не надо использовать эту кучу в Keil RTX, там есть такая возможность. Я так делаю. Такую же ось использую, перешел на нее с freeRTOS.

Штатная куча у меня всего 16 байт, опытом установлено, что это - необходимый минимум.

Буду думать.

PS. 24 байта (непонятно(0), указатель на свободное место, указатель на heap, указатель на мутекс, непонятно(0), свободное место(0)).

Share this post


Link to post
Share on other sites
2 часа назад, Intel4004 сказал:

Этот вариант я знаю. Проблема в том, что конфигурацию платы я могу прочитать только после запуска RTOS.

А "до" почему не можете? Просто тупо в лоб записать/прочитать содержимое первой ячейки из региона адресов каждого дополнительного чипа памяти - неужто без RTOS вообще никак?  :shok:

Share this post


Link to post
Share on other sites

Тем более есть SystemInit, который запускается до __main.

Share this post


Link to post
Share on other sites
2 часа назад, Intel4004 сказал:

Я бы с удовольствием. Но сторонние библиотеки (JSON например) эту кучу пользуют со страшной силой.

Вопрос, набивший уже оскомину на этом форуме: Зачем для JSON нужны какие-то "библиотеки"? Уже не говоря о том, зачем им куча? Это ведь простой формат.

Парсинг всего входящего текстового JSON у меня укладывается в каких-то ~500 строк си. При этом поддерживаются все стандартные типы данных JSON + некоторые расширения. И никаких куч оно не использует - вполне себе довольствуется одним(!), вполне себе статическим(!) блоком памяти (для сохранения распарсенного JSON в бинарном виде). И принимает входящее JSON просто как последовательный поток символов - может работать с любым источником JSON на лету.

 

PS: Если так дальше пойдёт "прогресс", то скоро и преобразование числа в строку будет невозможно без неких "библиотек"...  :unknw:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now