Ви використовуєте застарілий браузер. Цей та інші сайти можуть відображатися в ньому некоректно. Необхідно оновити браузер або спробувати використовувати https://www.google.com/chrome/
Программирование ARM. Eclipse, Keil,IAR,CooCox - всё сюда.
🟡 14:00 Відбій тривоги в Харківська область.Зверніть увагу, тривога ще триває у:- Куп’янський район- Харківський район- Липецька територіальна громада- Вовчанська територіальна громада#Харківська_область
J-линк поддерживает, в том-то и дело. На сайте сеггера по кокосу есть отдельный мануал как его поддерживать и соответствующая строка в листбоксе дебаггера - тоже есть.
Флэшер - тот да, не поддерживает, но язашил сеггеровским родным - и зашился и верифицировался ровно и гладко.
Мороз возникает при попытке дебажить. С ИАРом прокатывало такое - шили H-Jtag ом и на вшитый код натравливали IAR. Тут чего-то не то... какая-то лажа.
Ага, спасает DBG0 замкнуть на Vss и нажать Reset. Выставил ресет по пину - помогло. Отчего-то дебагер сам не захотел сбрасывать проц, или у меня руки кривыенах...
Ув. Reset, еще вопрос к вам , а если в данном проце (LPC2368) поставили защиту от чтения получится J-Link-ом (или U-Link-ом) прочитать? Девайс - китайское барахло, а именно программатор SH7055.
Ув. Reset, еще вопрос к вам , а если в данном проце (LPC2368) поставили защиту от чтения получится J-Link-ом (или U-Link-ом) прочитать? Девайс - китайское барахло, а именно программатор SH7055.
Если в камне стоИт защита от чтения - она, наверное, чтобы его не прочитали. Не?
Нет, не получится. Получится стереть. Потом записать Прочитать не получится.
Reset, тогда к вам последний вопрос - а у вас есть программатор для LPC2368FBD100, чтоб считать прошивку (желательно через JTAG)? Может защиты и нет, я не знаю. Просто по разным форумам читаю, но никто не может подсказать.
В общем мне необходимо считать прошивку с этого проца, естественно не стереть ее!
Если можете помочь - помогите, не бесплатно.
Reset, тогда к вам последний вопрос - а у вас есть программатор для LPC2368FBD100, чтоб считать прошивку (желательно через JTAG)? Может защиты и нет, я не знаю. Просто по разным форумам читаю, но никто не может подсказать.
В общем мне необходимо считать прошивку с этого проца, естественно не стереть ее!
Если можете помочь - помогите, не бесплатно.
Фуфф, после долгого перерыва - долез таки до темы
Взагали остановился на связке STM32F103 + CooCox.
По остальным: Как-то не срослось у меня с виндой. Начинал писать в андроид и поставил Win7Х64. Оно упало, не осилив драйвер блютуса, показывало синие экраны смерти и вообще плохо себя вело.
Попросил админа перелить по запаре - он и перелил. По запаре. Поверх ебанул 7X32/
ИТОГО: EmBlocks - не работает совсем.
Keil - чёт по сравнению с прошлым разом не смог создать пустой проект так, чтобы тот откомпилился сразу. Раньше мог - списываю на корявые записи в path, которые перетащила винда (она когда 7 поверх 7 ставишь - дохуя всего перетаскивает, как оказалось). В целом работает.
IAR - просто работает, но, как всегда, требует рукопиления (ну не может он не задрачивать).
CooCox - теперь уже поддерживает и J-Link, но а) J-Link перестал поддерживать SEGGER (он роняет прошивку, а прошивку клона не признает. Видать клон v8 имеет неправильный бутлоадер, а сеггеры снова сменили защиту). б) у меня уже и ST-link приехал, и я штю им без проблем по SWD и дебажу.
CooCox работает относительно - постоянно жрет память (даже когда просто ни чего не делаешь - видно как она растет в диспетчере) и, достигнув 190-210МБ - валится с ошибкой Java out of memory.
Списываю это тоже на свою невдалую винду, так как есть народ, утверждающий, что ни когда таких проблем не видел (правда, есть и те, у кого аналогично). /* --------- Часть вторая, или "ночные бдения" ---------
------------ она же - тупняк по харьковски -------------*/
Запустил я, знач, макетко, и намылился я задействовать АЦП.
Макетко было снабжено мыслеформами по инициализации GPIO, системмной тикалки на 1кГц и UARTа, который сейчас выполняет функцию хронометра - раз в секунду шлёт время от старта на комп, и если 13 часов 13 минут 13 секунд - пишет ещё и Halloween...
Ко всему этому прикручена IntToStr, чтобы слать это всё не в хексе (я в хексе плохо читаю, медленно), и, собственно, готово для обуздания АЦП.
Но! то-ли уже 23:32 ночи и пора спать, то-ли я просто туплю, то-ли все аппноты, которые я нашел, и прочие примеры, - содержат ошибки, но...
Этот гандон не работает.
Цель: запустить на попеременное измерение 3 канала АЦП, с помощью DMA, буфер 16, по окончанию - буфер будет обработан и отфильтрованное значение посмотреть по UART в терминалке (IntToStr благо есть).
На данный момент порваная в клочья в попытках чё-та сделать инициализация выглядит так:
--.............
(RCC заведен ранее и проверен в дебагере - GPIO запитаны, всё запитано, кроме DMA - оно запитывается у себя в ините)
Я уже запутался. Чего не хватает в этом салате? В прерывании ADC, или DMA я активности вообще не вижу. Видимо, я неправильно понял как оно должно работать и что чего запускает.
P.S. while (!(ADC1->CR2 & ADC_CR2_CAL)){ } вызывает залипание, условие не настает ни когда. По этому применено while(ADC_GetCalibrationStatus(ADC1));
ADC1->SQR3 |= (4<<15) | (5<<10) | (6<<5) | 7; // Сами номера каналов
Ув. Reset, позволю совет - сейчас St толкает CubeMx - генератор кода для stm32. Есть масса достоинств. Недостатки конечно то-же есть. Как всегда ( приколы с Spi, Rtc, Ethernet, нет пока emWin для Stm32f4 - приходиться самому, по старинке ). Но инициализация периферии таки обычно работает.
Ув. Reset, позволю совет - сейчас St толкает CubeMx - генератор кода для stm32. Есть масса достоинств. Недостатки конечно то-же есть. Как всегда ( приколы с Spi, Rtc, Ethernet, нет пока emWin для Stm32f4 - приходиться самому, по старинке ). Но инициализация периферии таки обычно работает.
Так что-бы да, так вроде нет. Значительно мощнее и удобнее. Скорее ближе к генератору в 5 кейле с его паками. Я например уже и подзабыл как FreeRTOS вручную накатывать ( оно понятно что и вспомнить недолго ). С lwIp ( с его туевой хучей настроек ) - просто песня. В кейле правда emWin есть в генераторе. Когда-то было важно. Но вроде пока обхожусь.
Ув. Reset, позволю совет - сейчас St толкает CubeMx - генератор кода для stm32. Есть масса достоинств. Недостатки конечно то-же есть. Как всегда ( приколы с Spi, Rtc, Ethernet, нет пока emWin для Stm32f4 - приходиться самому, по старинке ). Но инициализация периферии таки обычно работает.
Собсно, им и пользовался, но какое он имеет к DMA отношение? Скачал вчера последний - не заметил там вообще DMA, как и его разрешения для АЦП. Как по мне - ещё писать и писать этот продукт. Но в копилку положил - он из полезного, красненьким подсвечивает периферию двойного применения, которую уже задействовали.
Так что-бы да, так вроде нет. Значительно мощнее и удобнее. Скорее ближе к генератору в 5 кейле с его паками. Я например уже и подзабыл как FreeRTOS вручную накатывать ( оно понятно что и вспомнить недолго ). С lwIp ( с его туевой хучей настроек ) - просто песня. В кейле правда emWin есть в генераторе. Когда-то было важно. Но вроде пока обхожусь.
Чего? Все это делается на этапе компиляции. Результатом есть такая же прямая загрузка значения в регистры.
Лучше подскажите мне что еще сохранить в функции на асме вставленой в си в cvavr чтобы она не херила данные. Там довольно сложно и разбирать полный промежуточный асм код я уже затрахался мочи нет. Но некоторые флаги( глобальные переменные) в процессе работы слетают при использовании асм функции. Все регистры посохранял.
Эйфория ? Не, это не там. Там просто инструмент, с достоинствами и недостатками.
А-ля CodeVision. Берущий на себя кучу черновой работы ( что отнють не означает возможность забыть Reference manual ).
Не поленился, создал проект под 100 семейство - реально ограничен функционал. Видимо St не считает нужным уже их поддерживать. Да и я уже подзабыл.
Создай проект под 4 семейство ( перед этим паки нужно поставить ) - сравни.
Лучше подскажите мне что еще сохранить в функции на асме вставленой в си в cvavr чтобы она не херила данные. Там довольно сложно и разбирать полный промежуточный асм код я уже затрахался мочи нет. Но некоторые флаги( глобальные переменные) в процессе работы слетают при использовании асм функции. Все регистры посохранял.
Не правда. Или мы о разном. если через
XXX_InitStructure.xxxx - код получается гораздо больше. Библиотечные функции содержат больше проверок и странных телодвижений.
Лучше подскажите мне что еще сохранить в функции на асме вставленой в си в cvavr чтобы она не херила данные. Там довольно сложно и разбирать полный промежуточный асм код я уже затрахался мочи нет. Но некоторые флаги( глобальные переменные) в процессе работы слетают при использовании асм функции. Все регистры посохранял.
эммм... что значит "что ещё сохранить"? А что Вы УЖЕ сохранили? И что именно она херит?
Если глобальные переменные слетают - значит функция в них пишет.
Это может происходить по нескольким причинам:
1. асм пишет в память, где лежит переменная, о чем он совершенно не догадывается.
2. Переменная объявлена как регистровая, или на момент вызова асма числится в регистре (не имею понятия как именно cvavr компилит, но Сиспользует ограниченный и жестко фиксированный набор регистров)
3. У Вас молоко убежало стек закончился, или с ним неправильно обращаются.
4. неведомаёбанахуйня.
Не поленился, создал проект под 100 семейство - реально ограничен функционал. Видимо St не считает нужным уже их поддерживать. Да и я уже подзабыл.
Создай проект под 4 семейство ( перед этим паки нужно поставить ) - сравни.
Странно, 100 семейство полным ходом вытесняет AVR и PIC и отказываться от него было бы несколько преждевременным. Есть полно применений, где нет смысла ставить проц за 8 баксов, а хватит за 1,7-2 бакса.
CVAVR еще раз доказал, что он удобный, но иногда херню порет полную. Благо это всего третий раз в моей жизни. Правда самый крутой.
Выкладывать код смысла нет, он самый что ни на есть обычный, использует только разрешенные компилятором регистры, которые не надо сохранять и восстанавливать. Но даже сохранение ВСЕХ регистров ничего не давало.
В результате просмотра листинга оказалось, что компилятор при выходе из функции прыгает НЕ ТУДА откуда он в нее пришел. Хз как так, путается в своих же subrou для передачи параметров и возвращения при оптимизации. С самого начала была проблема не только с флагами, но и с явным переходом после функции не туда. То есть сразу после функции задержка, а оно педалит без задержки, которая когда-то потом происходит.