Ну (актуальность) сохраняет или не сохраняет, это еще большой вопрос. Где это у нас например в РФ разработчики дружно перешли на 32 пик, у Вас есть такие данные по росту продаж и числу новых разработок в стране? Наверное это не тот термин, который здесь уместен. Скорее считать что 32 пик по прежнему указан в списках процессоров, которые можно купить. Ну так многое есть такое, что можно купить. Это ни о чем еще не говорит. Так что неубедительно, я бы даже сказал необоснованные заявления. Вот кстати, где это на форуме актуален 32 пик, не подскажете? Ссылки на развитие интереса приведите и тогда обсудим. А так все это голословно. Нет новых разработок и в основном обсуждаются темы с пиками предыдущих серий, потому как нет задач, которые бы нельзя было бы решить без 32. Так я об этом и пишу - нет задач. За последние 20 лет отмечено бурное падение активности разработчиков и производителей в стране. Нет инженеров, нет программистов, умеющих профессионально корректно работать, используя ГОСТы, нет оборудования и даже банально программаторов и отладочных плат профессионального уровня. Так что не вижу я актуальности в 32. Хотя процессор хороший, я бы даже сказал отличный.
Вот кстати, где это на форуме актуален 32 пик, не подскажете?
Я написал что STM32F103C8T6 выпущенный 10 лет назад сохраняет актуальность в чем можно убедится в соседнем разделе. https://radiokot.ru/forum/viewforum.php?f=59 Так уж сложилось что наиболее популярными современными 32-ух битними МК среди любителей стали STM32, а не PIC или AVR. Немалую роль сыграл тот фактор что они наиболее доступны как по цене так и по средствам разработки. Они по цене на уровне 8-ми битных PIC и AVR. Цена 32-ух битных PIC и AVR значительно выше, а средства разработки дороже.
А по поводу актуальности PIC32. Их используют в основном профи потому что в фирме сказали разработать устройство на этом МК. Любителями они редко используются.
MaxDaniel писал(а):
Так я об этом и пишу - нет задач.
У всех задачи разные. Например недавно мне приходилось оцифровывать несколько каналов со скоростью около 50 тысяч выборок в секунду, обрабатывать данные и отправлять в комп по USB. Скорость потока порой доходит до 400 КБ/с. PIC16 или PIC18 смогут гарантировано (пропуски или задержки недопустимы) обеспечить оцифровку, обработку и отправку такого объема данных? PIC32 вероятно сможет, но для любительского (некоммерческого) проекта намного проще и дешевле взять STM32... Вот поэтому так мало любительских проектов на PIC32.
Но вот вопрос, а что делают форумчане с относительно мощными процами, если не секрет?
Решают задачи, которые на простых МК не решить. Если у Вас нет задач, то МК и не нужен. Выдумывать синтетические задачи бессмысленно. Мощные МК - это либо сигнальные приложения, либо коммуникационные с большим трафиком.
Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России.
На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.
Уважаемый MaxDaniel, чем же вам PIC32 не угодил? Ну я допустим сейчас использую 32mx460l512 и именно не в личных разработках. Возможно было бы лучше использовать STM32 но пока было решено(не мной) делать на данных пиках. До этого писал и на pic18 и на atmeg'ax но как то памяти маловато. Например моя библиотека для модуля wiz550 съедает львиную долю памяти atmega324 и при этом я не использую HTML страницы. Помимо этого, толку от одного модуля wiz550 нет, контроллер должен ещё что то делать, т.е. тут и несколько прерываний и работа с остальной периферией. И ещё большое количество пинов идёт в плюс, pic18 нету столько ног. Помимо этого пришлось увеличить количество портов с помощью 74hct273, вот тут уже и частота 80МГц кстати. Так что задачи есть, и пики используем.
Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO
подробнее>>
MaxDaniel
Заголовок сообщения: Re: PIC32 в вопросах и ответах
Не может мне ПИК32 ни угодить, ни порадовать. У меня нет под него задач, а те что есть, полностью закрываются ПИК18. Может изменятся задачи, буду думать о том, что больше памяти имеет и скорости. Пока таких нет.
Господа, поделитесь информацией, где почитать про бут область в pic32mx. Вожусь с бутдоадером, хочу разобраться как происходит процесс старта контроллера, какие ячейки за что отвечают и где поменять адрес старта, чтобы основная прошивка стартовала через бут, а потом уже основная прошивка. Из анализа видно что в буте есть таблица векторов от прерываний которые должны соответствовать основной прошивке.
Это который в гармонии, смотрел я на него, но у него реализация не совсем такая как мне нужно. Он бут пишет в начало, а основной код нужно располагать после бута. Была попытка сделать так: бут располагаем в конце флешь памяти, а основной код как и положено в начале. Отдельно собрал бут и отдельно прошивку. При старте бута должен перескочить на начало основного кода, но почему то вместо этого получаю reset и старт бута( Спойлер
} //================= void main() { Init(); run_Boot(); // вместо бута, ресет :))) // при попытке сделать тоже в буте, тоже ресет, где то что то я не дочитал }
Заголовок сообщения: Re: PIC32 в вопросах и ответах
Добавлено: Вт ноя 08, 2022 18:53:02
Модератор
Карма: 90
Рейтинг сообщений: 1337
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4558 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
alex_ писал(а):
бут располагаем в конце флешь памяти, а основной код как и положено в начале.
Неверное решение. Нужно наоборот - бут в начале (он стартует первым), основное приложение - после бута. Скрипт линкера ещё нужно править, и для бута, и для основной программы.
Исходя из опыта работу бута от микроси, там бут находится в конце прошивки. Основная прошивка в начале. В момент перезаписи бут области прошивки(0xBC)меняется адрес старта программы на адрес бута. А в целом надо научится просто прыгать по адресу: 2 независимые прошивки отдельно откомпилированные, чтобы можно было с первой прошивки прыгнуть на вторую и перезаписать основную прошивку.
Заголовок сообщения: Re: PIC32 в вопросах и ответах
Добавлено: Вт ноя 08, 2022 22:27:48
Модератор
Карма: 90
Рейтинг сообщений: 1337
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4558 Откуда: Планета Земля
Рейтинг сообщения:2 Медали: 1
КРАМ писал(а):
В МПЛАБе имеется специальная папка проекта. Называется Loadables.
Вещь незаменимая. Как меня выручала эта плюшка, и как её сейчас не хватает в CubeIDE для STM'ок - приходится вручную, в текстовом редакторе склеивать hex'ы
КРАМ, спасибо я уже квакнул использую. Когда Аlex предложил править скрипт линкера, вот этой штукой и обошёлся, поскольку пока не представляю как править линкер, примеры конечно почитал но пока не раскурил достаточно Аlex, испробую в ближайшее время По поводу Loadables есть один минус: к нему не получается применить дефайны, или я пока не вкурил как
Код:
//for example #define set1
#ifdef set1 const int sett[]={1,2,3}; #else const int sett[]={4,5,6};
#endif
Если разобраться со скриптами линкера, чтобы разные части ложил куда надо и не лез не в свое пространство, то было бы вообще идеально, но дзен пока еще не удалось постигнуть
Аlex, в проекте используется несколько дефайнов, методом комментирования меняется объём и функционал прошивки, в том числе и массив const short settings который находится за пределами прошивки(const unsigned char __attribute__((address(0x1D020000))) ConstTST []= {1,2,3,4,5,6,7,8,9,0};) и жёстко привязан к адресу. По дефайнам всё работало, но компилятор начал творить чудеса и класть часть прошивки сразу за 0x1D020000, чего в принципе быть недолжно(по моему мнению, и мне оно не надо ). Поэтому пришлось использовать Loadables вроде не совсем удобно, но ложит всё куда надо, но дефайны тут уже не работают Про скрипт линкера я помню, но пока не раскурил как им пользоваться.
С той проблемой вроде как разобрался, пару костылей вставил, не идеал но уже проехали. Дошло дело до DMA, и пока ничего не понимаю, часть уже успел курнуть из мануалов, но пока не смог понять как связывать данные. Задача: по УАРТу принимаются данные, нашёл пример в мануале Спойлер
Код:
/* This code example illustrates the DMA channel 0 configuration for data transfer with pattern match enabled. Transfer from the UART1 a <CR> ended string, at most 200 characters long */ IEC1CLR=0x00010000; // disable DMA channel 0 interrupts IFS1CLR=0x00010000; // clear any existing DMA channel 0 interrupt flag DMACONSET=0x00008000; // enable the DMA controller DCH0CON=0x03; // channel off, priority 3, no chaining DCH0ECON=(27 <<8)| 0x30; // start irq is UART1 RX, pattern match enabled DCH0DAT='\r'; // pattern value, carriage return // program the transfer DCH0SSA=KVA_TO_PA(&U2RXREG); // transfer source physical address DCH0DSA=KVA_TO_PA(ramBuff); // transfer destination physical address DCH0SSIZ=1; // source size is 1 byte DCH0DSIZ=200; // destination size at most 200 bytes DCH0CSIZ=1; // one byte per UART transfer request DCH0INTCLR=0x00ff00ff; // clear existing events, disable all interrupts DCH0INTSET=0x00090000; // enable Block Complete and error interrupts IPC9CLR=0x0000001f; // clear the DMA channel 0 priority and sub-priority IPC9SET=0x00000016; // set IPL 5, sub-priority 2 IEC1SET=0x00010000; // enable DMA channel 0 interrupt DCH0CONSET=0x80; // turn channel on
Вроде всё логично, но как то понять не могу, как оно связано DMA-UART2, то что есть адрес источника и этого достаточно? Как он понимает что байт пришёл, где то надо указать в DMA событие прихода байта, чтобы по этому событию произошло копирование? Это всё исходя из опыта работы с прерываниями, пока всё что нужно не включишь прерывания не будет
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения