Jump to content
    

makc

Администраторы
  • Posts

    7,819
  • Joined

  • Last visited

  • Days Won

    75

makc last won the day on February 3

makc had the most liked content!

Reputation

169 Очень хороший

7 Followers

About makc

  • Rank
    Гуру
    Гуру
  • Birthday 11/26/1981

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

27,036 profile views
  1. Да, точно, я не посмотрел на карту всей памяти, т.к. сам никогда не бью регионы таким образом. У меня карта регионов отражает физическую структуру памяти МК, а не логическое распределение. Его идея у вас уже реализована. Так что в принципе есть консенсус. 🙂
  2. Здесь нет озвученной ТС фиксации адреса блока параметров. Он может меняться.
  3. . = <константа>; Почитайте ссылку, которую я вам привёл выше. Это же ваш проект, откуда там может взяться 16K? Всё в ваших руках. Минимизируйте и фиксируйте размер секции .init: опишите её на ассемблере и всё будет фиксировано на 100%.
  4. Есть области памяти (регионы), а есть секции. Секции размещаются в регионах. Я предлагаю следующее: разместить в регионе FLASH последовательно три секции: .init - адрес точки входа и, возможно, таблица векторов прерываний; .configuration - секция со структурой данных вашей конфигурации, выровненная на границу минимального стираемого блока флеша; .text - код, включая точку входа и т.д. ... - всё остальное. В этом случае всё будет ровно так, как вы хотите. Разрыв будет (пропадёт место), только между секциями .init и .configuration.
  5. Без информации о проекте автора и его ld-скрипта это всё тщетно, всех проблем умозрительно не решить. PS: вообще подобное манипулирование адресами не очень хорошо, куда правильнее было бы объявить и определить в проекте структуру настроек нужного размера с правилами выравнивания на границу сектора флеша и определить её в отдельную секцию с помощью соответствующих атрибутов gcc, а уже в ld- скрипте положить её в нужное место (по порядку).
  6. Поскольку речь о принципе (как), а не о конкретной реализации (что), то дополнять можно бесконечно, суть от этого не изменится.
  7. . = . + 128; Пропуск 128 байт. https://ftp.gnu.org/pub/old-gnu/Manuals/ld-2.9.1/html_node/ld_10.html
  8. Как уже было сказано раньше, без понимания исходного технического задания и его ограничений понять, почему то или иное решение получилось именно таким - далеко не всегда возможно. Поэтому нужно идти от обратного: смотрите запросы/задачи/задания на сайтах для фриланса или здесь в разделе "Предлагаю работу" и под сформированные требования пробуете проектировать схемы. Например могу привести такую задачку от коллег: необходимо разработать монитор данных, выдаваемых из порта RS-232, с автономным питанием (LiPol аккумулятор), который при получении заданных сигнатур зажигает нужный светодиод (зелёный или красный) или пищит. При этом в отсутствии подключения к порту RS-232 или его отключении (порт обесточен) устройство должно отключать питание и переходить в режим сна с нулевым потреблением заряда аккумулятора. Назначение устройства - индикация результатов тестов оборудования, имеющего в качестве интерфейса управления последовательную консоль RS-232 (три провода: RX, TX и GND), как это делается на различном сетевом оборудовании и т.п. При выдаче в порт сообщения об ошибке зажигается красный светодиод, при выдаче сообщения о завершении теста - зелёный и т.д. На первый взгляд достаточно взять ардуино, пару светодиодов, подключить его через преобразователь типа MAX232 к порту тестируемого оборудования, а дальше ... встаёт вопрос о том, как коммутировать питание от аккумулятора в зависимости от того, подключен ли этот узел к тестируемому оборудованию или нет. Вот и начните с простого вопроса: как определить подключение к линиям RS-232 и в зависимости от этого коммутировать питание таким образом, чтобы и сам детектор/коммутатор в отключенном состоянии ничего не потреблял. 🙂 Попробуйте нарисовать схему, смоделировать её в том же MicroCap, опубликуйте и попросите покритиковать. Все с чего-то начинали...
  9. Штатно на сколько я знаю нет. Поэтому могу предложить разбить отображаемый вектор на две части (целую и дробную) и отображать их отдельно одну над другой. Дополнение: был неправ, есть отдельная команда. Т.е. создаёте свой радикс и после этого назначаете его нужному вектору на диаграмме.
  10. Решение конкретных задач и разработка инструментов для решения задач - это совершенно разные вопросы. Поэтому начните с чего-то одного, а дальше будет видно. Типовые - да, а единственно верные - нет. Любое решение (схема) это компромисс. Понимание компромиссов приходит с опытом и кроме вас его никто для вас не может получить.
  11. Погуглите по словам "lifepo4 fuel gauge ic". Почитайте описания микросхем и решений. И не забудьте почитать про BMS.
  12. Какой батарейки? Что за задача решается?
  13. https://ru.m.wikipedia.org/wiki/Искусство_схемотехники Смотрели?
  14. Для обсуждения вопросов моделирования есть отдельный раздел форума: https://electronix.ru/forum/forum/234-metody-i-sredstva-verifikatsii-plisasic/
  15. GCC, SVC и Cortex-M0

    Тогда речь идёт не о GCC, а о GAS из комплекта Binutils. С этого и нужно было начинать. Добавьте в начало файла строчку: .cpu cortex-m0 И попробуйте собрать.
×
×
  • Create New...