Jump to content

    

uni

Участник
  • Content Count

    80
  • Joined

  • Last visited

Community Reputation

0 Обычный

About uni

  • Rank
    Частый гость
  • Birthday 06/30/1980

Старые поля

  • Facebook
    Array
  • Vkontakte
    Array

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1075 profile views
  1. В общем, попробовал какую-то найденную прошивку, которая раньше работала. Я уже когда-то давно прошивал. Получил следующий листинг, если пользоваться командной строкой (отсюда): > sam-ba.exe \USBserial\COM3 at91sam7s64-ek mt_link_programming.tcl > logfile.log 2>&1 -I- Waiting ... -I- TCL platform : Windows NT -I- SAM-BA 2.18 on : windows -I- current connection is \USBserial\COM3, \\USBserial\\COM3 to be matched -I- Retrieved arguments from command line : -I- argv 0 : \USBserial\COM3 -I- argv 1 : at91sam7s64-ek -I- argv 2 : mt_link_programming.tcl -I- Connection \USBserial\COM3 -I- Connection : \USBserial\COM3 (target(comType) = 0) -I- Board : at91sam7s64-ek -I- Traces Level : 4 -I- target(handle) : 17604600 -I- sourcing board description file C:/Program Files/Atmel/sam-ba_2.18/sam-ba.exe/../tcl_lib/at91sam7s64-ek/at91sam7s64-ek.tcl Read device Chip ID at 0xFFFFF240 --- get 0x27090540 -I- Found chip : at91sam7s64 (Chip ID : 0x27090540) -I- Loading applet applet-lowlevelinit-at91sam7s64.bin at address 0x202000 -I- Memory Size : 0x0 bytes -I- Buffer address : 0x4 -I- Buffer size: 0x0 bytes -I- Applet initialization done -I- Low level initialized -I- Loading applet applet-flash-at91sam7s64.bin at address 0x202000 -I- Memory Size : 0x10000 bytes -I- Buffer address : 0x202994 -I- Buffer size: 0x1500 bytes -I- Applet initialization done -I- FLASH initialized -I- Command line mode : Execute script file : mt_link_programming.tcl -I- GPNVM0 set -I- Loading applet applet-flash-at91sam7s64.bin at address 0x202000 -I- Memory Size : 0x10000 bytes -I- Buffer address : 0x202994 -I- Buffer size: 0x1500 bytes -I- Applet initialization done -I- GENERIC::EraseAll -I- GENERIC::EraseAll -E- Generic::EraseAll returned error (0x00000004) -I- Send File ./V8.bin at address 0x100000 first_sector 0 last_sector 15 -I- Complete 0% -I- Writing: 0x1500 bytes at 0x0 (buffer addr : 0x202994) -I- Complete 0% -I- Writing: 0x1500 bytes at 0x0 (buffer addr : 0x202994) -E- Generic::Write returned error (0x00000004) Содержимое mt_link_programming.tcl: set exampleFile "./V8.bin" ## Falshing binaries FLASH::ScriptGPNMV 0 FLASH::Init FLASH::EraseAll send_file {Flash} "$exampleFile" 0x100000 0 Если пользоваться оконной версией, то тоже получаю ошибку. Пациент не выздоравливает. Правка. В общем, заработало, я просто с этими локами запутался. Нашёл оригинальную китайскую инструкцию и по ней сделал. Правда ещё с серийниками не разобрался пока. Кстати, у меня эта sam-ba ни в какую не захотела работать под Win10, пришлось в виртуальной машине под XP прошивками заниматься.
  2. Спасибо, буду пробовать, а пока купил для себя J-Link EDU 11.0. Странно, что цены на него в двух местных конторах отличаются в 2 раза (!). Это Чип и Дип (10.1 за 9 т.р.) и Промэлектроника (11.0 за 4 т.р.). К сожалению, этот EDU в отличие от китайского оказался ещё хуже - на моём arm9 камне кидает сообщение, что нету заявленного ETB, хотя имеющийся у меня также J-Link Base 10.1 нормально дебажит. Отписался на их форуме, может помогут. Когда-нить брошу это всё и на Linux.
  3. Отладчик подох у меня, зараза. Больше не светит светодиодом. Пришло, видать, его время. Эх. Не пойму что там ему не понравилось, может подскажите от чего дохнут обычно или схема тут есть подобных?
  4. Ребят, у меня старый клон v8 есть. Прошивать прошивает, но вываливается из runtime через некоторое время. Драйвер вроде новый какой-то стоит, но точно сейчас не скажу. Вопрос: выкидывать его уже? Т.е. железку надо обновлять или как-то можно нужную прошивку подсунуть?
  5. Это порт обычной студии, поэтому настройки шрифта находятся в меню: Tools\Options. Дальше в дереве нужно найти: Environment\Fonts and Colors.
  6. AtTiny13A

    Реальный размер прошивки можно найти по последнему адресу в hex-файле до маркера конца файла (:00000001FF). К примеру, если последней строкой перед маркером идёт такая: :02006000089501 где :02 - это размер области записываемых данных (в байтах); 0060 - смещение относительно сегмента памяти (0x0060) или адрес, куда будут записаны данные в строке; 00 - код записи (данные); 0895 - это 2 байта 0x08 и 0x95; 01 - это простая контрольная сумма; То размер прошивки равен ( 0x60 + 0x02 ) или 98 байтам. При условии, что смещения начинались с 0x0000.
  7. В файле iomx8.h определены идентификаторы для векторов прерываний. Нужно использовать только их именованные значения, а не "магические" цифры. Дальше нужно перейти на вкладку Output и посмотреть куда конкретно указывает каждая ошибка, там должны быть пути к файлам, где обнаружена предыдущая декларация. Лишние файлы должны быть отключены от проекта. Ассемблерные вставки для типовых команд уже есть в библиотеке avr-gcc: - sei() и cli() в interrupt.h; - wdt_reset(), wdt_enable(), wdt_disable() в wdt.h, причём там находится правильная инициализация сторожевого таймера; - sbi() и cli() в compat/deprecated.h; - и т. д. Вообще, типовые операции с периферией, как правило, уже описаны в библиотеке поддержки мк. GNU AVR имеет убогий набор таких файлов, но он есть и изобретать велосипед не обязательно.
  8. Действительно, TI DSP не особо интересны даже у них на форуме поддержки. Я туда даже не пытался обращаться. Вот работа с модулем MMCSD, если честно, у меня так и не зашла (с FatFs) в отличии от вас, но я ещё сильно не копал. Я, правда, не со стороны DSP заходил, а со стороны ARM'а (я с L138 работаю). В PDK с этой их осью и CSL есть вроде аж три проекта для MMCSD (LCDK), но они у меня почему-то не пошли, даже собранные в CCS. Хотя по правде я любитель "модного" и собирал всё в последней версии среды (10.x). Но другие, по-проще, заработали. Просмотрел по диагонали про консоль игровую. Я, честно, не любитель игр, чисто из любви к железкам и исходникам попробовал бы. Это правильно, что у вас там отдельный игровой SDK, так как я себе слабо представляю клуб любителей копаться во всех CPU-ядрах, компиляторах, периферии, тысячах регистров и десятков вариантов режимов работы этого всего, уж тем более писать на ассемблере для PRU :) Я его вообще пока отложил, мне двух ядер пока хватает. Вот у современных товарищей есть CMSIS и его поддержка в средах, вплоть до автогенерации проектов. Я им завидую. Чем дело-то закончилось с BlackPrism? Сколько стоит платка BlackPrism и SDK к нему? Я не смотрел схему, там JTAG-то выведен? Я бы купил как ещё одну отладочную плату. П.С. Посмотрел, висит JTAG в воздухе. Как же так? :) printf() или я чего-то не знаю? Неужели разработка под ПК с последующим "портированием"?
  9. Китайский интернет? :) Я PDK-то с CSL еле-еле осваиваю, пришлось три SDK, начиная с BSL перебирать, хорошо, что не совсем с нуля начинал. Я с ARM-ядра начал (OMAP), а примеры все почти для DSP в интернетах, ох и намучился, ещё и под IAR. Tomb Raider - зачёт. Это единственный, в который я играл и прошёл до конца. Был разочарован в самом конце, т.к. тонны собранных аптечек не понадобились. Босс был повержен раза с третьего (перепрыгивал через его плечо и мочил, пока он разворачивался). BlackPrism значит, спасибо, и это почитаю, хотя мне больше алгоритмы и исходники интересны.
  10. Типа эта ссылка: TMS320C6745 - начало пути, Игровая консоль? Игровая приставка? Почитал начало :) Напомнило мои копания в документации. Вижу, что касаемо DSP-ядра, вся документация имеется. Жаль раньше такого дневника не видел, сэкономило бы времени, почитаю.
  11. Жаль, а мне приходится ковыряться с этим OMAP-L138 и такого задора, как тут в теме, он не вызывает :) Думал, хоть бы в игрушку какую поиграл.
  12. Доброго, дал ли Бог? И если да, то можно ли глянуть, потестить ваши творения? У меня есть LCDK для OMAP-L138, интересно было бы заценить. Могу обеспечить всей документацией, если надо.
  13. Функция Сrc16Optim(): 36 команд или 72 байта.
  14. Это очень просто прикинуть для avr8. Судя по картинке с кодом для этого метода там используется около 45 инструкций. Это 90 байт для этой архитектуры, что значительно меньше размера таблицы и обслуживающего его кода. Этот метод вполне может называться оптимальным для avr8. В avr почти все инструкции (опкоды) двухбайтовые, кроме некоторых исключений.
  15. Попробовал ещё раз. Видимо что-то не так сделал в первый и был не внимателен. Теперь всё сошлось, код прилагаю. Итак, полином 0xA001, CRC16/MODBUS, результат для строки "123456789" равен 0#4B37. Для ATmega16 @ 16 МГц имеем: Table - 12.9 мкс (таблица 512 байт) Optim - 17.3 мкс (без таблицы) Simple - 20.0 мкс (без таблицы) Cycle - 52.4 мкс (без таблицы) Т.е. алгоритм из библиотеки avrlibc действительно быстрее и самый близкий по времени к табличному методу расчёта. crc16-modbus.pdf