Jump to content

    

miheyk

Свой
  • Content Count

    162
  • Joined

  • Last visited

Community Reputation

0 Обычный

About miheyk

  • Rank
    Частый гость
  • Birthday 11/10/1986

Информация

  • Город
    Array

Контакты

  • Skype
    Array

Recent Profile Visitors

2357 profile views
  1. Не думали, что возможно эта файловая система тупо надёжнее в сравнении с FatFS? ТС спасибо за обратную связь!
  2. Увы, но надежность и размер буфера в ОЗУ противоречат друг друга. Любой журнал, любая таблица перемещений, будь то борьба с бэдблоками или неравномерным износом флеши требуют громадных затрат по ОЗУ. Пример - файловая система от Segger потребляет ~50 КБ для флеша в 64 МБ и тоже через malloc.
  3. Некорректно написал название - µC/OS. Не понял про свой, ну да ладно)
  4. За деньги можно вообще ничего не делать, только плати. Ту же uOS со стеком ФС пилят и продают все, кому не лень
  5. Не все так плохо, без линукса, но на фриртос ) Хотя эта FS заточена прежде всего под NAND, с NOR таких проблем нет. Вот тут, как и советовали ранее, как раз описано преимущество LittleFS на случай сбойного питания. SD и eMMC это уже другой уровень развития, и, используя их, можно как минимум решить проблему борьбы с BB. В общем, повышение надежности напрямую связано с качеством этих карт. Про безбажные ПЛК порадовали
  6. LPC1788 и EMC

    +1 Попробуйте забить этот буфер, данные должны обновиться.
  7. Всем добра, уважаемые коллеги. Понадобилось обновить исходники проекта и сформировать hex-файл, дабы обновить прошивку на работающих девайсах силами зашитого в них бутлоадера. Подключаю в проекте доставшийся по наследству скрипт линкера APP24FJ64GA004IVTremap.gld, собираю hex. Подключаюсь через PIC24F Quick Programmer к камню, стираю, заливаю прошивку и на этапе верификации получаю это: Verify Error at 0x4 should be: 0xC02 but read: 0x2A8 Verify Error at 0x6 should be: 0xC06 but read: 0x2A8 Verify Error at 0x8 should be: 0xC0A but read: 0x2A8 Verify Error at 0xA should be: 0xC0E but read: 0x2A8 Verify Error at 0xC should be: 0xC12 but read: 0x2A8 Verify Error at 0xE should be: 0xC16 but read: 0x2A8 Verify Error at 0x10 should be: 0xC1A but read: 0x2A8 Verify Error at 0x12 should be: 0xC1E but read: 0x2A8 Verify Error at 0x14 should be: 0xC22 but read: 0x2A8 Verify Error at 0x16 should be: 0xC26 but read: 0x2A8 Verify Error at 0x18 should be: 0xC2A but read: 0x2A8 и т.д. Замена скриптов на родные из примера AN1157 картины не меняет. При этом имею hex-файл предыдущей прошивки, который успешно заливается загрузчиком. Вопрос: может есть какая-то хитрость в приготовлении прошивки для загрузчика? PS Исходники бутлоадера основаны на официальном загрузчике. Среда MPLAB X v3.40. Компилятор XC16. Камень PIC24FG64GA004. linker_script.zip boot_src.zip
  8. Спасибо, Владимир. Порадовали. Для схем давно форматки используем, а вот для плат по старинке >DXP>AutoCAD. Где-нибудь писали об этом?
  9. Power port по ГОСТ действительно давно появился, а форматки можно оформить прямо на листе в виде шаблонов (SchDot), включая титульную, там же сетку в 5 мм. задать. Сборочный оформлять увы, только через конструкторские CAD.
  10. Косяк у Кейла

    В защиту GCC - по умолчанию он молчалив, но Wall/Wextra никто не отменял. В защиту K&R - если кому-то что-то не нравится, то это ваше дело, но правила есть правила, и библия K&R в первую очередь явилась фундаментом для стандарта ANSI C (C89). С тех пор многое поменялось в лице сахара, новых типов, макросов и т.д., но никак не фундаментальные вещи. Например, найдите отличия между главой 3.5 Циклы for и while и 6.8.5.3 The for statement C11 или между А 6.5. Арифметические преобразования и 6.3.1 Arithmetic operands С11. Пример про преобразование типов, что я приводил ранее, все же из ранних трудов и сейчас неактуален, т.к. в новом издании K&R ANSI преобразование звучит иначе (см. ссылку выше) По поводу горячего спора for(;;){} vs while(1){} все точки над и уже расставлены, но for(;;) лег в основу FreeRTOS и ядра Linux.
  11. Теперь понятнее, но всё же зачем /dev/ttyUSB0? Модуль ядра Это не цель модуля, а демона, и не нужно это смешивать.
  12. Для первой проблемы увеличьте буфер, чтобы он не переполнялся, но и не опустошался. Для второй проблемы постройте буферизацию, например, через кольцевой буфер. Это уже вопрос алгоритма. И не поленитесь прикрутить DMA к буферу.
  13. Вопрос, зачем из модуля открывать /dev/ttyUSB0? 1 модуль - 1 задача. А для вывода/ввода есть потоки и ядро само решает в какую консоль это должно идти.