Jump to content

    

__inline__

Участник
  • Content Count

    767
  • Joined

  • Last visited

Everything posted by __inline__


  1. Заказ своих микросхем

    Цитата(VCO @ Oct 7 2017, 05:51) Про ЧИПы стОит забыть раз и навсегда... Забыть легко, а вот вспоминать тяжело... Особенно когда видишь, что в буржуйляндиях это очень доступно и очень дешево: https://docs.nextthing.co/chip_pro.html#get...ith-c-h-i-p-pro Надо только найти дурака заинтересованного индивидуума с мешком баксов для данной реализации...
  2. Ого, какая эпическая тема! Пока Бюрократ тут ваял свой комп, некто другой в лице меня начинал только ваять и делал первые шаги в освоении ARM-ов и позже - Blackfin-ов [attachment=109160:ttt.jpg] Ну а на счет SDRAM на двухслойке, да и ещё на таком большом расстоянии - как-то не верится что заработает нормально вообще... "десево" - это ещё не значит "надёжно". Всегда стараюсь делать все вещи на 4-слойках, так легче, быстрее и надёжнее + приятные сюрпризы со стабильным оверклоком 50-75%
  3. Заказ своих микросхем

    Цитата(x736C @ Oct 7 2017, 03:20) Постановка вопроса о резистивном ЦАПе неверная имхо. Если такой ЦАП полностью удовлетворяет ваши запросы, то и нормально. Спасибо! А то я уже подумал, что делаю что-то не так... Цитата(x736C @ Oct 7 2017, 03:20) На платах посерьезнее идет DVI. Так как резистивный имеет ограничения по видеорежиму. Мне надо до 320x240 и RGB не ниже 5:5:5. Остальное не нужно. Цитата(x736C @ Oct 7 2017, 03:20) ПЛИС, эффективно работающих на частоте 500 МГц, строго говоря, не существует. Вангую, для вашего проекта этого и не требуется. Для общения ПЛИС и контроллера существуют быстрые интерфейсы. Пока что звучит неубедительно. Кроме «хочу свой логотип» рационального зерна не видно, простите. Как это не требуется? Перебросить кадр за минимальное время - вот что главное. И чтоб шины были разные - у памяти и дисплея. И да, - "хочу свой логотип" - тоже в силе! Цитата(x736C @ Oct 7 2017, 03:20) P.S. Все-таки насколько зеленая маска лучше всех прочих... А причем тут маска? Если вы о моей плате, что мелькала в другой теме, так это из-за того чтобы было дешевле. У меня есть ещё платы с синей и красной масками
  4. Заказ своих микросхем

    Цитата(x736C @ Oct 7 2017, 02:42) Приоткройте, пожалуйста, что вами движет. ПЛИС просто идеально подходит для вашей задачи. Можно даже перенести проект в MAX10 и попытаться избавиться от внешней памяти. Понимаю, если цель — сделать дизайн, чтобы пройти маршрут VLSI и преобрести компетенции в области проектирования чипов. Но вам просту нужны чипы по вашим hdl-исходникам. Совсем не понимаю, если единственной движущей силой является желание увидеть свой логотип на 10 чипах, сделанных для личных целей. Полагаю, в вашем случае есть что-то еще, помимо тщеславия. Мной движет: 1) желание запхиать всё в одну микросхему: ПЛИС + 2 памяти по 512 кб(256k x16) + ЦАП + избавиться от микросхемы EEPROM - для миниатюризации и упрощения монтажа 2) ну и радость созерцать свой логотип с названием Общение с контроллером должно быть очень быстрым - предельно возможным как SRAM с 7 нс или ещё менее. ПЛИСов с тактовой более 500 МГц не бывает? КодА что - кому-то до сих пор нужны видеокарты с ЦАПом из резисторов? тут тоже на резисторах: https://olimex.wordpress.com/2012/09/28/a13...ypes-are-ready/ Даже в NEO-GEO тоже был видео-ЦАП на резисторах: https://wiki.neogeodev.org/index.php?title=Video_DAC Ещё недовольные видео-ЦАПом есть? Цитата(gte @ Oct 6 2017, 20:28) Удалить маркировку производителя затем нанести свою? Возможно, если спрятать 2 банка памяти. (SRAM 16 bit data bus)
  5. Цитата(_pv @ Oct 6 2017, 16:25) но уж 5ти разрядный-то цап и из резисторов собирается. Согласен, собирал - работает отлично. Только почему-то здесь: https://electronix.ru/forum/index.php?showt...p;#entry1522770 резистивный ЦАП был некоторыми воспринят мягко говоря совсем нехорошо. А так да - 15 резисторов как в прошлом проекте. И почему некоторых торкает от резистивного ЦАПа? В чем его недостатки? Картинка на мониторе норм и на Altera DE так сделано Цитата(_pv @ Oct 6 2017, 16:25) ADV7170? Меня огорчает его входной формат - YCrCb. Нужно RGB хотя бы по 5 бит на каждый (как минимум 15-битный порт данных). Смотрел ещё VIA VT1621 and VT1621M, там RGB, но заносятся последовательно по-одному: R,G,B - тоже не годится. Нужна параллельная загрузка в 3 ЦАПа сразу. Что-то сдаётся мне, что прийдётся опять на резисторах ЦАП собирать и довешивать NTSC-кодер как в прошлой версии. Нужно сигнал с видео-интерфейса Allwinner V3s пустить на телек и аналоговый монитор (не одновременно, выбирается при старте один раз) - там для цифровых матриц-шматриц, а мне на телек & VGA монитор нужно!
  6. Заказ своих микросхем

    Цитата(Myron @ Oct 6 2017, 15:36) Это был вопрос вам, чтобы вы подумали о концепции в целом. Вот даже это надо объяснять. Меняйте род занятий. Пока не поздно. чушь несусветную несёте... КТО вы такой чтоб за меня решать что менять или нет? Резистивный ЦАП чем не угодил? Работает отлично и меня его работа устраивает! В Altera DE так и сделано. Цитатапосле чего сразу возникнет вопрос о поддержке или бесплатном апгрейде ибо, если не будет дров, ко всем осям, раз и навсегда, то вас 146% порвут Вы не поняли Эти микросхемы нужны лично мне! В пределах 10 штук. Более ничего не нужно. Ни для кого ничего делать по этим микросхемам не собираюсь... вот ещё чего..
  7. Заказ своих микросхем

    Всё хреново. Подготовка шаблона - 8000 долларов. Не годится... Идея не идиотская - хотел свой чип сделать. А цап из резисторов можно заменить если не нравится из резисторов (хотя и он работает нормально)
  8. Кто может сделать телефон?

    Подозреваю, что топик-стартер- террорист или злобный анонимус. Потому что построение своего сотового телефона оправдано лишь с целью сделать его без закладок (программных и аппаратных), которые осуществляют анальное зондирование пользователя с слив большому брату. Но 30к руб как-то маловато... Только на подъём рабочего макета хватит
  9. Здравствуйте. Для питания ядра процессора (F> 1 ГГц) нужен регулятор напряжения на 1,2 В. Ставить DC-DC не хочу по причинам которые тоже здесь обсуждать не хочу. Поэтому выбор пал на LDO (устройство питается от розетки, экономичность не нужна), но на 1.2V недоставаемы в районе проживания (заказывать другие нет денег и времени). В наличии есть LM1117-ADJ - регулируемая версия. Согласно документации на процессор - допустимо питать ядро 1,25 В. Если вглядеться в схему и формулу из даташита, то можно заметить, что можно убрать R1, R2 и Cadj из схемы: выходное напряжение будет 1,25 В. Вывод ADJ естественно не забыть подключить к GND. Вопрос : можно ли так делать в законченном устройстве или нет? картинку прилагаю. [attachment=109116:shema.jpg]
  10. Всем спасибо за ответы - опыт в копилку! Удалось раздобыть FAN1112D - облазил весь город, забрал последнюю... Но для макета сойдёт (в дальнейшем закажу через интернет). Удивительно что вариантов на 5 , 3.3 и 1.8 V намного больше чем 1.2 и 3.0V (первая - для питания ядер CPU, ПЛИС; вторая - для PLL и аналоговая часть - > с низким vdropout). С PMU пока связываться не хочу на макете - процессор новый, непонятно взлетит или нет, поэтому на первых порах не усложняю себе жизнь..
  11. Здравствуйте. Скачал и поставил, затем ребутнул (для переменных окружения) GCC-тулчейн: gcc-arm-none-eabi-6-2017-q2-update-win32.exe Затем написал программу тект ниже: Код#include <math.h> float a=1.2F; float b=3.21F; float c=0.0F; void main(void) { c=sin(a+b); b=cos(a+c); } Построил бинарник и все необходимые файлы командами: Кодarm-none-eabi-gcc -std=c99 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv4 -c fpu.c -o fpu.elf -lm arm-none-eabi-objdump -D fpu.elf > fpu.asm arm-none-eabi-objcopy -O binary fpu.elf fpu.bin При просмотре листинга видно, что функции sin( ) и cos( ) НЕ ИМПЛЕМЕНТИРОВАЛИСЬ, вместо них стоит переход: Код18:    e3403000     movt    r3, #0   1c:    edd37a00     vldr    s15, [r3]   20:    ee777a27     vadd.f32    s15, s14, s15   24:    eef70ae7     vcvt.f64.f32    d16, s15   28:    eeb00b60     vmov.f64    d0, d16   2c:    ebfffffe     bl    0 <sin> ----------------------------- !!! нет вызова   30:    eef00b40     vmov.f64    d16, d0   34:    eef77be0     vcvt.f32.f64    s15, d16   38:    e3003000     movw    r3, #0   3c:    e3403000     movt    r3, #0   40:    edc37a00     vstr    s15, [r3]   44:    e3003000     movw    r3, #0   48:    e3403000     movt    r3, #0   4c:    ed937a00     vldr    s14, [r3]   50:    e3003000     movw    r3, #0   54:    e3403000     movt    r3, #0   58:    edd37a00     vldr    s15, [r3]   5c:    ee777a27     vadd.f32    s15, s14, s15   60:    eef70ae7     vcvt.f64.f32    d16, s15   64:    eeb00b60     vmov.f64    d0, d16   68:    ebfffffe     bl    0 <cos> ----------------------------- !!! нет вызова Других тулчейнов нет, пробовал soft-fpu, ничего не меняется, функции из math.h не имплементируются вообще! Залез в папки тулчейна, так там libm.a несколько штук: ...\GCCARM\arm-none-eabi\lib\libm.a ...\GCCARM\arm-none-eabi\lib\thumb\libm.a ...\GCCARM\arm-none-eabi\lib\thumb\v7-ar\libm.a ...\GCCARM\arm-none-eabi\lib\thumb\v7-ar\fpv3\hard\libm.a ...\GCCARM\arm-none-eabi\lib\hard\libm.a У меня нет слов, одни эмоции (касаемо GCC тулчейна)! Помогите плиз, нужен хардварный синус/косинус для ядра Cortex-A7, VFPv4 или NEON - для floating point, как решить проблему?
  12. Уважаемые mantech и другие пользователи! Мне очень интересно поддерживать общение с вами в данной теме, но мне бы совершенно не хотелось разводить здесь юридические шашни, связанные с программным обеспечением. В частности: последствия таблеток, какое у вас ПО, наличие-отсутствие лицензий, торренты и всё в таком духе. Давайте не будем превращать Форум Разработчиков Электроники в ещё один форум юристов! А то складывается такое впечатление, что некоторых кто-то напугал. Например, пишете про Keil - какой он у вас или упоминаете его в контексте крякнутого. Не нужно этого. Зачем и перед кем оправдыватесь? Давайте лучше делиться опытом в разработке программ для ARM !
  13. Кстати, вот список процессов в WinXP от компа с которого пишу: [attachment=109096:tasks.gif] Обратите внимание - как мало процессов. Говно практически вычищено. Очень сомневаюсь, что под блевистами (windows vista,7,8,9,10,...) такое возможно. Вот это действительно конфа под которой приятно работать, так как всё чисто. И вирусы поймать можно только если запустить левый exe-шник скачанный из интернета. Потому что Java, Silverligtht, Flash, RPC выпилены, порты закрыты (кроме нужных) Цитата(Forger @ Oct 3 2017, 12:24) Дык, в штатном дейфайне на STM это уже сделано, через структуры. Все просто и очевидно. Но если изобретение велосипеда - хобби, то это все меняет Структурное описание регистров порой генерит слишком большой код и снижает понимание процессов, происходящих в аппаратуре. Но это лишь моё мнение.
  14. Цитата(Forger @ Oct 3 2017, 12:09) Вот уж действительно заняться нечем иногда такой подход оправдан. как правило дефайны регистров делаю т через указатели и к ним обращаются так: *pGPIO_ISR=0x000, а хочется так: GPIO_ISR=0x0000. вот и приходится (volatile unsigned long int*) переправлять на *(volatile unsigned long int*) и отсекать *p Ну это уже мелочи. И кстати, из опыта, некоторые регистры отсутствуют в стандартных хедерах на STM32, приходилось дописывать самому.
  15. Цитата(Эдди @ Oct 3 2017, 11:54) Что за ерунда? Я, например, вообще не использую ни JTAG, ни SWD — все STM32 шью через бутлоадер. Это намного удобней, да и не нужно лишних устройств присобачивать; а висящий на UART1 переходник после прошивки используется для отладки. SWD очень сильно помог мне, когда нужно было сдампить большой буфер данных из памяти контроллера, которые создал кодек речи. По UART будет дольше и это - дополнительная микросхема согласования лог. уровней + терминал. А через SWD - три проводка + встроенный программатор/отладчик на плате STM Discovery на USB + Utilites + окно в котором всё видно! Цитата(Эдди @ Oct 3 2017, 11:59) Под STM32F0, кстати, есть уже готовые сниппеты от самих ST. Жаль, что под другие линейки они не потрудились подобное накатать. А вот под V3s нет Только в составе Линукса Поэтому лепить своё с оглядкой на Линукс Для STM32F... вообще проблем быть не должно: Keil ARM генерит достаточно внятный стартап с пресетами + куча статей на русском языке! Ну разве что когда код в RAM исполнять - не забыть раздефайнить перенос таблицы векторов прерываний (если они используются) Ну и там же CMSYS со всеми объявленными хедерами - регистры, константы, битовые маски. А HAL + пресеты STM Cube - зло ))) Разве что для раскидки пинов использовать, куб идёт только в блевистах при установленной JRE, поэтому приходится идти в гости к знакомым. Тяжела нынче жизнь аппаратчика Приходится искать альтернативные пути, не нарушая свои принципы...
  16. Цитата(Эдди @ Oct 3 2017, 11:52) Лучше самому постепенно накапливать базу сниппетов, а затем по мере необходимости брать уже готовые куски кода. Вот такую базу у меня есть желание создать под один из современных ARM-ов, типа базового API для работы с нужными узлами. Нечто похожее сделал для ADSP BlackFin BF532/533 и для STM32F405 и для AT91RM9200 - с кешами, с MMU, на полной скорости.
  17. Цитата(HardEgor @ Oct 3 2017, 10:37) Хе-хе, попробуйте запустить простейший STM32 прочитав 50 страниц. А в больших чипах взаимосвязей и зависимостей на порядки больше. Зачем мне простейший, когда совсем недавно портировал кодек MELP800 на STM32F405 ? Bare Metal, конечно.
  18. Цитата(Forger @ Oct 3 2017, 11:06) Если JTAG отключается лишь через прошивку (софтварно), то дело поправимое - нужно лишь подключить к отладчику цепь сброса МК. А вот если чип залочен необратимо (у STM32 такое возможно), то чип - на помойку. ЕМНИП отладку у STM32F4xx можно делать через SWD + STM32 ST-LINK Utility
  19. Цитата(_3m @ Oct 3 2017, 10:48) Легко! Пишете неправильное значение в регистр управления питанием и один из ip блоков в чипе подпаливается. Похоже вы сложных чипов еще не видели. Ой, да. Забыл добавить сюда управление напряжением питания ядра через ШИМ. Типа как в Блекфинах. Ну это ж детский сад, если по этому поводу писать в ТП
  20. ЦитатаЭто уровень мелких микроконтроллеров, на больших можно просто подпалить чип, ошибочно записав левое число по некому адресу, и потом метаться - либо я неправильно что-то делаю, либо чип глючный. Ну а ТП, там же не телепаты сидят - ей-то откуда знать что вы натворили с чипом и какие могут быть последствия? Ну и как можно спалить чип неверной записью в регистры? (про порты ввода/вывода, фьюзы и ПЛИСы - не рассказывать!) ЦитатаУгу, и получить эдак 10 томов по 500 страниц каждый. Да они минимум год только писать это будут, а потом каждый месяц выпускать по дополнительному тому "исправлений и дополнений Так из этих 500 страниц каждому понадобятся свои 50 страниц! Например, для моих применений - видеокодек не нужен, так же как и USB и Эзернет. Мне надо GPIO, SPI, TF, Video Out, высокая производительность ядра over 1GHz - остальное не важно! Другим наоборот. Но никто не заставляет читать все 500 страниц! ЦитатаНу и во всём этом есть одна загвоздка - как правило, те, кто знают Python, perl, Java, знают так же и C Это лишь ваше мнение, которое не является правилом - не обобщайте. Ну и знания одного Си недостаточно для программирования контроллеров. Нужны ещё и базовые знания как работает железо и как его программировать.
  21. Цитата(mantech @ Oct 3 2017, 08:13) Хихикали или нет - не важно. Есть какой-то уровень, до которого нужно дойти, и быть на нем до тех пор, пока не дойдем до чего-то по-настоящему нового и адекватного, на сегодня - это уровень Си, наиболее универсального средства программирования. "Особо одаренные" могут изобретать что угодно, но большинство адекватных продолжает им пользоваться... JAVA тоже имеет место быть, но только в случае разноплатформенного использования. Для всяких дотнетов тут места нет от слова вообще... Всему своё время и место. Можете называть меня ОЛД-фагом, но я не чураюсь машинных кодов, например в ассемблерных вставках: часто бывает что встроенный ассемблер в Си каких-то инструкций не поддерживает, а оформлять дополнительный сорец с ассемблером лень, машинные коды выручают На счёт JAVA раз заговорили, упомяну как сделаны Ведроиды: на ARM процессор ставится виртуальная машина ARM + JAVA : => получается двойная эмуляция! Зачем? Учитывая, что есть специальные ARM-ы, с аппаратной поддержкой JAVA (Jazelle вроде бы?). Налицо - говнокодостроение. JAVA может быть полезна временно, когда нет порта какого-то приложения на целевой платформе, ну или в случае закрытого кода приложения. В остальных случаях - JAVA - тормоз.
  22. Цитата(Эдди @ Oct 3 2017, 07:52) Эти ваши си-диезы, го и прочий шлак до сих пор так шлаком и остался! Ни один вменяемый человек не будет что-нибудь серьезное на этом писать! А уж ядро ОС только на С и пишется: как 30 лет назад, так и сейчас, и в ближайшие 30 лет! Для С++ место только в узкой нише GUI'шного софта и высокоуровневых библиотек, где его плюшки имеют смысл. Всякие пхытоны-перлы так и остались фигней для развлечения. А ассемблер до сих пор используется — но уже как вставки. Писать на чистом ассемблере нецелесообразно из-за его низкоуровневщины, С же — очень высокоуровневый язык, и его за глаза на все случаи жизни хватает. Так я не являюсь сторонником Си Диеза и прочих вещей в нише микроконтроллеров. Они совершенно для других вещей предназначены. А их внедрение популяризуется из-за большого процента "админов" в IT-шной массе. А они как правило, больше скриптовыми языками владеют, на то и расчёт чтоб с них срубить бабки. По части программирования ядер ОС на Си... Много ли Си-компилеров, способные дать чистый бинарник с любого ORG и без затирания регистров? На счёт GCC не уверен, а вот про Open Watcom C слыхал, что можно сделать бинарник без привязки к ОС и clib. Ну и планировщик задач (Tasker) пишится всёравно на Ассемблере, так как нужно очень чисто пушить и попить контекст задач. Ковырял исходники ucos под ARM7 видел как это всё сделано.
  23. ЦитатаОднако, в настоящее время без интернета (выхода в мировую сеть) уже невозможно сделать ни одной современной разработки. Почему? Кто мешает использовать два компа - один для выкачивания документации, связи с другими разработчиками, второй - на нём софт и разработка. ЦитатаИспользуйте reactos или KolibriOS Последнюю даже пробовал устанавливать и работать. Проникся уважением (к ОС и её разработчикам). Была даже идея портировать под KOS свои наработки в виде эмуляторов (сейчас там только NES и GB©), но пока в приоритете - создание своей игровой платформы. ЦитатаПроблема в том, что эти процессоры стали настолько сложными, что сами авторы не могут сходу сказать что произойдёт если изменить какой-то регистр настройки - то ли перегреется, то ли "кирпич" получится.... У них техподдержка умрет отвечая на вопросы типа "я тут записал куда-то 0xFFЕ и у меня не работает ЭКРАН, что делать?" Техподдержка - это для дятлов. Потому что : - внятного от неё ничего не услышишь - всегда удается разрулить проблему самостоятельно, не дожидаясь запаздалого ответа от ТП - те кто обращается в ТП, практически все дятлы - ну и в ТП как правило сидят одни ТП ))) На счёт сложности тоже спорный вопрос. Вот что реально сложного на моей практике выпало - это программирование VGA-регистров видеокарты для установки HiRes разрешений с большой цветностью BPP с нестандартными длиной и шириной кадра с логической шириной кадра отличающейся от физической, с изменением частоты обновления экрана от 80 Гц и выше(до 130 Гц). Гемор ещё тот: программирование более 50 регистров видеокарты. Вот это я понимаю - сложно. А дёргнуть флаги разрешения клоков на тот же SPI, установка частоты ядра-памяти , установка кеширования данных через MMU с прямой трансляцией адресов - это пустяк по сравнению с задачей выше. Ну и разве что в кирпич можно превратить контроллер, если порт настроить на вывод и замкнуть его на питание или землю, думая что порт на вводе (кнопка). Ну или FUSE сорвать для кварца или SPI-программатора. Но это лечится. ЦитатаПоэтому для конечных пользователей создаются готовые профили настроек, проверенные вдоль и поперек, а избранным дается доступ к их изменению и некоторые описания. Для конечных пользователей - готовые устройства: просим любить и пользоваться. Отладочные платы - для разработчиков, господа в белых воротничках, извольте открыть доки и описать в SDK как программируется весь набор периферии. А то получается: ключевые сотрудники в Китае на гитхабе постят дистры Линукса, описывая в группе Гугл о том что SDK они дать не могут, а дистр Линкса - запросто. Тоесть всё через задницу: хотите SDK - выколупывайте его в Линуксе! А отдельно мы вам его не дадим! Ну и делать нечего, стал разбираться и понял, что в Линуксе всё спрятано в папках по функциональному назначению: - видео - аудио - порты - остальные подистемы.... - и там куча сорцов на железки разных производителей, включая то что нужно. Но разобраться, пропустить через себя и осознать это - нужно времени намного больше, чем время на освоение и осмысление отдельного SDK. Ну и в интернете под Линукс много чего интересного есть - вплоть до дисассемблированного загрузчика, по тексту которого можно понять: - куда указывает стек - в какой адрес памяти кладётся программа boot0 (spl) - какая периферия задействуется - в каком режиме процессор (супервизор или юзер) - какие байты в хедере загрузчика важны (сигнатура, контрольная сумма, размер) - и многое другое ЧТО ПРОСТО ОБЯЗАНО БЫТЬ В ДАТАШИТЕ (в Technical Reference) ЦитатаВ ходу виртуальные светодиоды из облачных пулов устройств... как мне тут сказал один знакомый по этому поводу: "... гнойник рано или поздно лопнет ..." ЦитатаНе, вин 98 пусть уже отдыхает в мире ином, ибо кроме прямого доступа к железу от нее толку 0, ибо висла она и глючила не по детски... Это 95-я глючила, 98-я только вешалась намертво, если что-то забыть важное сделать. Зато в 98-й винде возможно перейти из DOS-программы в нулевое кольцо по такой схеме: DOS => DOS + DPMI => Ring 0. Было удивительно написать такую вещь как while(inp(0x60)!=1){}; и созерцать глобальную заморозку всех задач и ядра винды, пока не будет нажата клавиша Esc Ну или рисовать точки не в окне приложения, а с самого верхнего левого угла экрана монитора И это всё через Low Level в ДОС-программе, а не через GDI или Direct Draw !
  24. С удовольствием девелопил бы и на Windows 98, но есть причины, по которым это сделать теперь невозможно: 1) старые компы все ушли в мир инной, а на новый 98-я не устанавливается, просто зависает в середине установки и всё 2) большинство дев-софта не поддерживает 98 винду. 3) геморой с USB-устройствами - на принтер и флешки производители не пишут драйверы. Помню как плевался, когда переходил на XP - это была целая традегия! В то время комп был 800 МГц + XP Home edition со свистоперделками. С появлением более мощных компов и XP Professional edition жить стало по-легче. НО, в XP мне не нравится ограничение доступа к железу, для общения с портами надо писать VXD-драйвер или качать готовый. Например - WinIO, позволяющий писать/читать в любой порт или участок памяти. Это для связи разрабатываемого устройства с компом - COM- LPT- USB- порты. Ну и порезать ХР сложнее чем 98 (отключение, удаление ненужного барахла). А вообще, моё мнение, нормальная винда заканчивается на 98-й, всё что позже - уже почикана виртуальная машина DOS, многое уже просто в нём не сделаешь. Я воспитан в духе традиций - экономить память и оптимизировать по скорости всё, но к сожалению, в ЭПОХУ ГОВНОКОДА, эти достоинства нивелировались и теперь осмеиваются. Ну ещё вспомните 90е - 2000-е, когда господствовали AVR-ки с ПИК-ами, в то время НИКТО НЕ СМЕЛ думать о том, как бы впендюрить ОС в них. А теперь почему-то считается, что разработка под Embeedded должна идти на ОС. Эпоха Говнокода, одним словом... Ну ещё вспомнил, что видел скрипт на Питоне, который мигает лампочками на Raspberry Pi. Это клиника скажу я вам.... ! В анальные закрома уходят Ассемблер и Си, зато привествуется Си Диез и скриптовые языки, ну никак не предназначенные для программирования контроллеров! Довольно весело и тошно одновременно читать на гиктаймсе/хабре выкладки какого-нибудь "админа" с приаттаченным фрагментом говно-кода на питоне, который мигает лампочками на распберри пи Ого! Зто он "ТРУЪ адмЫн" и "повелитель железа" теперь: - укротил контроллер на 1-2 ГГц и теперь ходит с распальцовкой... По моему мнению, он просто рядовой говнокодер! Я понимаю, что Raspberry Pi и прочие клоны, Оллвиннеры, ИМХы, Ситары - это Application Processors, но это восе не значит, что нельзя на них писать напрямую (bare metal)! Ситуация меняется, когда производители этих Application Processor-ов СОЗНАТЕЛЬНО ПРЯЧУТ ту самую фундаментальную информацию для работы на low level : - как происходит загрузка программ - алгоритмы работы периферии - таблица векторов прерываний Просто на отшибись дают выгрузку регистров с их описанием. И хорошо, что есть Linux, в исходниках которого можно много чего подчерпнуть и ликвидировать пробелы. Но согласитесь, такой подход к "изучению" процессора - весьма нелёгок и неоптимален! Про софт и палево: Про стучание софтом, можно вообще убрать эти ваши интернеты, на машинах разработчика. Сделать отдельную машину с интернетами, изолированную от других. Или фаервол с белым списком.
  25. Поставил ARM DS-5 из дебрей интернета, так оказалось их ARM-compiler не имеет bare-metal таргета и пукает от некорректной лицензии. В том же ИДЕ (он же Эклипс) есть опция GCC bare metal, сравнил выхлоп с первым тулчейном - результат один-в-одни, а Эклипс упростил сперва настройку проекта - флаги компиляции и встроенный make. В итоге, после длительного ознакомления с флагами компилятора, линковщика, многократных экспериментов и просмотра листинга на асме, получил что хотел. Ну и скрипт для линковщика написал, теперь всё линкуется как надо и куда надо, даже филлинг освоил (заливка оставшегося места нулевыми символами для получения объема прошивки ровно 16 кБ). В целом GCC ARM неплох, как оказалось больше возможностей подёргать ключи оптимизации. Пример: Код-march=armv7-a -mfpu=vfpv4 -mfloat-abi=hard -nostdinc -O3 -Wall -fomit-frame-pointer -fforce-addr -falign-jumps=4 -fgcse -std=c99 -marm -mlittle-endian -fpic -mtune=cortex-a7 --specs=nosys.specs -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -nostdlib -nostartfiles -ffreestanding -fno-math-errno -fno-common -fno-builtin -ffreestanding -fno-strict-aliasing -mno-thumb-interwork -fno-stack-protector -fno-toplevel-reorder -Wstrict-prototypes -Wno-format-nonliteral -Wno-format-security -Wextra -Wno-unused-result -Wno-main -T "test0.ld" -gc-sections -Wl,-N -fomit-frame-pointer -fforce-addr -falign-jumps=4 -fgcse -std=c99 -marm -mlittle-endian -fpic -mtune=cortex-a7 --specs=nosys.specs -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -nostdlib -nostartfiles -ffreestanding -fno-math-errno -fno-common -fno-builtin -ffreestanding -fno-strict-aliasing -mno-thumb-interwork -fno-stack-protector -fno-toplevel-reorder -Wstrict-prototypes -Wno-format-nonliteral -Wno-format-security -Wextra -Wno-unused-result -Wno-main Ну а на счёт блевисты, я имел ввиду, что она несанкционированно стучит и из неё сочится во все щели. Если в ХР как-то можно ещё заделать дыры, то в блевистах это практически невозможно. И вообще для меня это хобби, а не производственный процесс с получением выгоды, как тут некоторые поняли.