Перейти к содержанию

    

Step68

Участник
  • Публикаций

    132
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Step68

  • Звание
    Частый гость
  1. Самопрограммирование ARM

    Цитата(zltigo @ Nov 28 2009, 15:27) 32K RAM, говорите у Вас? Тогда сколько у Вас Flash? - сотни К- полмега и при этом Вы в качестве весомого аргумента пытаетесь представить "Экономия флэш около 6 кБ" Это Вам, уважаемый zltigo, позволяют ставить камни с сотнями кБ... А мне со скрипом разрешают ставить LPC. У меня же 32 кБ RAM и 128кБ flash. Программа не дописана, а уже 120 кБ занято. А надо-то чуть-чуть дописать. В этом случае 6кБ флэш--это весомый аргумент... Хватит, чтобы навести красоту:-))).
  2. Самопрограммирование ARM

    Цитата(zltigo @ Mar 24 2008, 11:12) Не лучшая, это точно. Затереть вероятно и RAM тратится впустую, только вот на РЕМАПИРОВАНУЮ таблицу NULL не указывает. RAM тратится??? :-))) При объемах 32кБ, например, что значат 64 байта??? Не надо грешить против истины :-))) Размещение в RAM иногда наилучшее решение, особенно когда ресурсов немного. Приведу пример. Записываешь маленький загрузчик в начале флэш , который загружает с какого-то внешнего источника (датафлэш или UART, например) программу загрузчик под любые нужды(USB, SD Card и т.п.) в RAM. Старт загрузчика... При этом загрузчик в начале флэш получается очень маленький (можно вписаться в 4кБ). При работе загрузчика по барабану как RAM тратится. Ничего не затрешь. Или такой пример. У меня стоит датафлэш со всякого рода картинками и загрузка этих картинок так и сделана -- с SD карты загрузчик записывается в RAM и записывает картинки на датафлэш. Экономия флэш около 6 кБ.
  3. ОС для ARM

    Цитата(KRS @ Nov 23 2009, 12:11) IMHO FreeRTOS вот только с GUI не понятно. какой дисплей? TFT 320x240 или OLED 256x64
  4. MEGAWIN

    Цитата(Harbinger @ Nov 15 2009, 07:42) Просто так он через UART не шьётся, см выше. Т.е. без проприетарного ICP программатора не обойтись, по крайней мере один придётся купить. Обойтись -- в него записан с завода загрузчик и еще (как я писал) он шьется параллельно... Цитата(147 @ Nov 15 2009, 00:37) Да , камень очень "вкусный". Как по цене в 35р, так и по своим характеристикам. Здорово, что шьется через СОМ порт - сие право удобно. А никто не пробовал его в работе ? Хотелось бы узнать его поведение при повышенных температурах, не будет ли глючит его декодер команд или переферия отваливаться/защелкиваться. Буду рад вашим ответам. Да прекрасно он себя ведет ... Я пробовал его в работе. Несколько тысяч изделий выпущено на нем. Например, при установке изделия на панели приборов автомобиля, нагрев летом не менее 70-80 гр.С. Нормально.
  5. ОС для ARM

    Цитата(KRS @ Nov 23 2009, 11:20) А для какого ARM то? LPC23XX LPC17XX
  6. ОС для ARM

    Посоветуйте... Хотелось бы использовать ОС в новой разработке. CAN, USB, GUI. IAR, Keil. Чтоб "жрала" как можно меньше ресурсов(на борту только камень). И не сильно дорогая. Другие характеристики не критичны. Linux не интересует.
  7. Цитата(Yaumen @ Nov 4 2009, 12:47) На что лучше ориентироваться, чтобы безболезненно сбрасывать счетчики ошибок не нарушая работу CAN!? На регистр состояния CAN:-)
  8. Я просто сбрасываю контроллер как когда ES в CANGSR устанавливается в "1" по заданному количеству ошибок. Тем не менее, любую ошибку можно посмотреть в CANICR биты 16:20 , в том числе и ACK... Можно сделать так -- включить прерывание по шинной ошибке в CANIER (бит 7) и определять в прерывании тип ошибки и код ошибки по CANICR. Пить пиво...
  9. MEGAWIN

    Цитата(Harbinger @ Nov 3 2009, 22:07) Просмотрел, AN вполне вменяемые, не хуже, чем у Атмела или NXP. Автор - Neo... кхм Ложка дёгтя только в том, что в моих краях пока ни одного спекулянта этими чипами нет дилера Megawin нет ChipSelect насколько я понял имеет эксклюзивные права... http://www.chipselect.ru/
  10. MEGAWIN

    Цитата(Harbinger @ Nov 3 2009, 07:59) Закачал. Оно! И даже не на корейском. Спасибо за ссылку. Все это есть и еще примеры разные на сайте... http://www.megawin.com.tw/megawin_EN/Downl...Name=SampleCode Прошивается этот проц параллельно(ChipProg или родной программатор), через UART (SPI и т.п. зависит от вписанного загрузчика) и через спец фичу(ICP). У камня встроенный дебаггер -- тоже специальная фича идет. Недорогая. Пример прошивки через UART выложен на сайте. В даташите на камень очень четко описана процедура ISP и IAP. Я пользуюсь для записи загрузчика ICP программатором. А потом через UART загружаю ПО. Есть версия загрузчика с SD карты -- только много от флэш откусывает из-за реализации FAT. Кстати на сайте есть примерчик работы с FAT32. Прекрасно работает под Кейлом дебаггер. Есть версия с камня с таким же ядром -- с USB. Пользуюсь этим камнем года 3 и пока никаких приколов не обнаружил... Вот мне и показалось странно, что люди мучаются с 51-ми известных фирм, когда есть такой камень. P.S. Внимательно читайте даташит -- в нем очень много интересного кроме двух UART.
  11. MEGAWIN

    Цитата(Kolia @ Nov 1 2009, 00:26) Я не работал, но по ходу это процессор с ядром 8051 Странно, что этот хороший проц китайского производства, да и дешевый до нельзя, никто не пользует. Действительно, 51-й однотактовый, 64 к flash , 1024 extended ram. Он быстрее AVR ки работает на своих 24 Мгц. Есть IAP, ISP, ICP и дебаггер.
  12. Чем прошить внешнюю SPI flash?

    Цитата(Ant_m @ Oct 29 2009, 11:26) Спасибо за наводку про DCC, как-то не знал что такая штука имеется... немного оффтопа - на программирование SPI устройств по JTAG оказывается есть патент http://www.freepatentsonline.com/7265578.pdf У меня внешняя SPI Flash 45PE80. Я в нее загружаю картинки и строчные константы. Запись делаю загрузчиком в ОЗУ. Примерно так -- с карты памяти записываю в RAM код загрузчика, ремап. Дальше загрузчик с карты памяти данные записывает на dataflash. В принципе этот загрузчик можно загружать в оперативку любым доступным способом. Я когда его отлаживал, через JTAG загружал.
  13. MEGAWIN

    Кто-нибудь здесь работал с контроллером MCP82G516 от MEGAWIN?
  14. Цитата(Novichok1 @ Oct 22 2009, 13:11) Ситуация, значит, вырисовывается такая: поскольку on-chip RAM всего 64KB, а внешняя оперативка несравнимо больше, и к тому же данные, которые требуются хранить довольно громоздкие, то их объявление как глобальных, и таким образом запись либо в секцию .data, либо в секцию .bss является плохим решением. Значит эти данные нужно объявить как локальные (либо не статическими членами класса). Это можно сделать двумя способами: 1) Объявить их в стеке; 2) Объявить их в куче посредством "new". А почему все так замороченно? Разве нельзя, ничего не указывая линкеру, объявить указатель, а потом присвоить ему адрес во внешней памяти. typedef struct { UInt32 a; UInt32 b; UInt32 mass[1024]; } struct_1, *struct_1; struct_1=Адрес; А отдельные переменные так -- #define temp (*((DWORD*)Адрес)) -- здесь ошибка возможна только если обратиться к этой переменной до инита внешней памяти....
  15. BootLoader LPC1700

    Цитата(QED @ Oct 21 2009, 14:41) я о том же Просто намекаю, что могу продебаггить если поможет Рабочий... Просто на моей плате Р2.9 используется -- через транзистор подтяжка, а в примере нет.