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

jcxz

Свой
  • Постов

    13 775
  • Зарегистрирован

  • Посещение

  • Победитель дней

    38

Весь контент jcxz


  1. Библиотеки для STM32

    Из всех прочих ARM, с которыми я имел дело, у STM32 самая простая периферия. А имел дело я и с NXP (LPC17xx и LPC43xx) и TI (Tiva, Concerto, OMAP) и Infineon. Видна цель производителя: сделать наиболее простую периферию для снижения порога входа для новичков, пускай даже в ущерб функциональности. Осваивать периферию STM32 не в пример легче, хотя бы потому что приходится читать описания на гораздо меньшее число регистров периферии чем в других МК. Сужу по собственному опыту. Например: в том же USART у STM32F4x всего 7 регистров, в то время как у Infineon например - около полусотни в его USIC. И это не считая связанных регистров.
  2. Если не имеет, то модифицировать можно побитно, а не по 32 бита.
  3. А FRAM ещё лучше :) Ещё интересней если немного подумать и поэкспериментировать. Исходя из исходных данных задачи - во флешь нужно хранить инкрементирующийся счётчик. Я так понял - этот МК имеет ECC-защиту программной флешь с размером страницы == 32 бита? Пустая (стёртая) ячейка вероятно имеет значение == 0xFFFFFFFF. Примем это значение за значение счётчика ==0. Тогда очевидно, что в пустую ячейку можно записать любое значение. Например 0xFFFFFFFE. Примем это значение за значение счётчика ==1. Поверх него можно попробовать записать 0xFFFFFFFC, но, так как есть ECC, то скорей всего получим не 0xFFFFFFFC, а нечто другое. Ну да ладно - то что получим примем за значение счётчика ==2. :rolleyes: Далее - опять попробуем записать в эту же ячейку нечто другое. Если получим значение отличное от предыдущего, то примем это значение за следующее значение счётчика. И так можно модифицировать эту ячейку до тех пор, пока значение ячейки не перестанет меняться. Очевидно, что последовательность этих значений ячейки будет одинакова для всех ячеек флешь (если флешь ещё не изношена!!!). Отсюда следует, что можно определить значение счётчика, записанного в ячейку. А значит - увеличить максимальное кол-во записей во флешь на количество полученных значений счётчика. Таким образом - увеличив ресурс флешь. Экспериментальным путём (или иным путём) можно определить последовательность записываемых значений в одну и ту же ячейку флешь, при которой значения ячейки будут меняться дольше всего (до конечного фиксированного значения).
  4. Осталось выяснить размер минимального записываемого элемента во FLASH этого МК.
  5. Может потому, что в 7-битном режиме I2C адрес 0xA3 невозможен? Не задумывались об этом?
  6. Имхо - если в задаче много вычислений, то c55xx эффективней будет по потреблению чем M4. Тогда можно и в сторону OMAP-ов посмотреть. ;) А ещё была у TI несколько лет назад новая линия - Concerto: Cortex-M3 + DSP C28xx. Только вроде как загнулась. Или нет? Имхо - если-б был двухядерный МК в простом QFP корпусе с ядрами Cortex-M + DSP - он был бы очень заманчивым.
  7. Библиотеки для STM32

    И какой смысл? И при чём тут загрузчик?
  8. Вот сейчас только ожидается Cortex на 400МГц. А я ещё в давнем 2005-м программировал на C5502 на 300МГц. И то - этот ожидаемый M4 ту задачу 2005-го года не потянул-бы. :rolleyes:
  9. А вы внутрь загляните - что там в ентих *.dsp? Может там обычный асм. В IAR вон тоже - асм-файл может быть как *.asm, так и *.s
  10. Ну вот его и можно посоветовать. Конкретно его - не использовал, но OMAP L137, в состав которого он входит, использовал - всё ок. CCS вроде как не бесплатный. Но может быть трофейным, если Вы это имели в виду ;) Между Cortex-M и настоящим сигнальником разница на алгоритмах ЦОС - в разы. Если ТСу нужен DSP на 400МГц, то Cortex нужно ожидать не на 400, а на как минимум 1500. Это даже если не нужны double-переменные. Вы уж всё-таки определитесь с производительностью. Ибо c55x или c674x - это сильно разные вещи по быстродействию. c55x всё-таки больше заточен на малое потребление. Хотя и даже c5502 значительно (и может кратно) обгонит Cortex-M4 на 400МГц на обработке 16-битных данных.
  11. LPC1756

    IAR\examples
  12. Зачем??? Есть куча МК с внешними шинами поддерживающими SDRAM.
  13. Видимо здесь всё-таки форум разработчиков, а не ремонтников.
  14. Библиотеки для STM32

    Разговор был про назначение адресов памяти регистрам периферии. Кто-то делает это в си-шных хидерах, кто-то - через линкер. Принципиальной разницы нет. Имхо. Скорее такие люди просто надёргали кусков отовсюду, не разбираясь и не понимая.
  15. LPC1756

    Можно.
  16. Скорость ESP8266

    По TCP/HTTP конечно. Выше всё описано что делал.
  17. Скорость ESP8266

    не знаю. Я по UDP не работал с радиостанциями.
  18. Почему? Зачем так часто долбать? Вполне вероятно что Вы переполняете чью-то очередь передаваемых блоков в цепочке канала. Отсюда и потери.
  19. Библиотеки для STM32

    А что в этом неправильного? Это основная задача линкера - распределять адресное пространство. Точно так же можно в icf-файле IAR определить адресные пространства периферии.
  20. Быстрее насколько? На 30%? Возможно данная батарея долго хранилась на складе, может и в ненадлежащих условиях, и подсела. Этот кондёр как раз и может жрать лишние мкА ...если выбран неправильного типа с большой утечкой. Да и собственно - каким прибором меряется ток утечки? Учитывается падение напряжения на нём? Если падение большое, то без него там ток может быть совсем другой... Для получения достоверных результатов мерять нужно специальным микроамперметром, а у Вас дподи обычный китайский мультиметр? B)
  21. Библиотеки для STM32

    Самостоятельное написание stm32l03***.h с описаниями регистров периферии занимает времени меньше чем Вы тут потратили на написание постов и поиски "библиотек". :laughing:
×
×
  • Создать...