Zlumd 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба Так мне и не надо пока много суть такая что к плисине цепляеться 6 АЦП, которые непрывно молотят данные И эти данные складыаються в внтренюю память плисины Ну и каков размер памяти внутренней плисины? Больше или меньше 256 байт? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Хомяк 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба 6 каналов х 16бит = 256 байт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zlumd 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба 6 каналов х 16бит = 256 байтВообще-то 6 каналов х 16бит = 6 каналов х 2 байта = 12 байт Но в любом случае вот так вроде надо конфигурировать: EBI.CTRL = EBI_LPCMODE_ALE1_gc | EBI_SRMODE_NOALE_gc | EBI_IFMODE_3PORT_gc; EBI.CS2.CTRLB = EBI_CS_SRWS_0CLK_gc; EBI.CS2.BASEADDR = ( BASE_ADDR >>8)&0xFFF0; EBI.CS2.CTRLA = EBI_CS_ASPACE_256B_gc | EBI_CS_MODE_SRAM_gc; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Склихасовский 0 17 февраля, 2010 Опубликовано 17 февраля, 2010 (изменено) · Жалоба Вопрос по поводу софтового программирования FLASH памяти не могу заставить NVM контроллер ни то что записать - стреть не могу. Хочу держать кило таблицы в памяти программ Xmega128a3 3 часа бъюсь? ни каких реакций от контроллера NVM Для теста пытаюсь тупо очистить страницу памяти по адресу 0 (пускай затрет код - мне для теста) --------------- .macro wait_nvm _wait_nvm: lds temp,NVM_STATUS sbrc temp,NVM_NVMBUSY_bp rjmp _wait_nvm stsi NVM_CMD,0 .endm -------------- Код LDZ 0X0000; addr page CLR TEMP OUT CCP_RAMPZ,TEMP WAIT_NVM STSI NVM_CMD,$2b;NVM_CMD_ERASE_WRITE_FLASH_PAGE_gc;2F STSI CPU_CCP,CCP_SPM_gc SPM RET -------------- И тишина - не пишет не стирает ничего!!! Контролирую все это дело из студии - есть сомнение: а рельно ли в окне PROGRAM данные берутся из камня? может тупо из хекса идет отбражение? --------- Вот ещё полистал, как всегда в последнюю очередь, ERRATA правда вроде касается xmega256а3 - если правильно понял так похожая проблема - решается введением проц в идле режим. Изменено 17 февраля, 2010 пользователем Склихасовский Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 18 февраля, 2010 Опубликовано 18 февраля, 2010 (изменено) · Жалоба А у вас STSI - макрос какой-то? Там ведь жесткие временные рамки между записью в регистр защиты и выполнением SPM! Я весь ваш текст не штудировал, но вот кусок из моего рабочего бутлоадера WriteFlashPage: RCALL _WAIT_FOR_SPM RCALL Word2ByteAddr ldi r16, NVM_CMD_WRITE_APP_PAGE_gc STS NVM_CMD,r16 RCALL _WAIT_FOR_SPM LDI r16,CCP_SPM_gc STS CPU_CCP,r16 spm Изменено 18 февраля, 2010 пользователем V_G Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Склихасовский 0 18 февраля, 2010 Опубликовано 18 февраля, 2010 (изменено) · Жалоба STSI = LDI temp,@0 sts @1,temp Чтоб лишнее не писать... В вашем коде есть место: ldi r16, NVM_CMD_WRITE_APP_PAGE_gc STS NVM_CMD,r16 RCALL _WAIT_FOR_SPM Даете команду запись страницы в область апликухи после чего !!! Ждете готовности NVM контроллера у меня этого нет- с чем это свзяано? может в этом фатал? Изменено 18 февраля, 2010 пользователем Склихасовский Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 18 февраля, 2010 Опубликовано 18 февраля, 2010 · Жалоба Даете команду запись страницы в область апликухи после чего !!! Ждете готовности NVM контроллера у меня этого нет- с чем это свзяано? может в этом фатал? Сейчас не вспомню, быстрее Вам наверное, попробовать. Единственно, второе ожидание у меня идет под меткой Do_SPM, и у меня туда идут ссылки из нескольких мест. А в любом случае перед SPM надо подождать завершений всех операций NVM. Это тянется у меня еще с бутлоадера Меги32, пример софта на ассемблере еще тогда висел на атмеле (сейчас все эти дела снабжаются примерами на Си). Да, и еще рекомендуют прерывания запретить во время таких операций. У меня в бутлоадере они запрещены постоянно, а у Вас? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Склихасовский 0 18 февраля, 2010 Опубликовано 18 февраля, 2010 · Жалоба нет прерывания разрешены, но это не для бут лодыря, Просто хочу сохранять таблицу в 1 килобайт в области флеш памяти. Вот и все желание Да вот ещё что.... У вас кристалл какой? Дело в том что на А3 - в еррате нехорошие моменты написаны на этот счет.. Сейчас попробую с ожиданием готовности... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 18 февраля, 2010 Опубликовано 18 февраля, 2010 · Жалоба 1. Прерывания хотя бы на время прошивки флэша стоит запретить 2. Atxmega32A4 3. Почитайте повнимательней заметки-инструкции по прошивке флэша. Там, по моему, application перепрошивать можно только из bootloader section. Хотя могу ошибаться, не вникал. И еще во флэше application table есть, там тоже наверное, свои правила есть, в них тоже не вникал Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Склихасовский 0 18 февраля, 2010 Опубликовано 18 февраля, 2010 (изменено) · Жалоба Прерывания запретил пытаюсь стирать командой NVM_CMD_ERASE_FLASH_PAGE_gc толку 0 WAIT_NVM ldz 0 clr temp out cpu_rampz,temp cli STSI NVM_CMD,NVM_CMD_ERASE_FLASH_PAGE_gc ;NVM_CMD_ERASE_APP_PAGE_gc; $2b;NVM_CMD_ERASE_WRITE_FLASH_PAGE_gc;2F wait_nvm STSI CPU_CCP,CCP_SPM_gc SPM sei RET что характерно - в A1 команд работы с флешем напрямую я не нашел... Изменено 18 февраля, 2010 пользователем Склихасовский Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Склихасовский 0 18 февраля, 2010 Опубликовано 18 февраля, 2010 (изменено) · Жалоба Там, по моему, application перепрошивать можно только из bootloader section. Хотя могу ошибаться, не вникал. И еще во флэше application table есть, там тоже наверное, свои правила есть, в них тоже не вникал Да в этом и были мои грабли :-) пытался стереть страничку - в программной секции , причем код был там же когда перенёс код в боот секцию - прграммная начала без проблем стираться - писаться.. Только не получилось стереть странички в боот секции находясь в программной секции. комнада NVM_CMD_ERASE_BOOT_PAGE_gc ; Кстати ждать готовности после отправки команды на стирание или запись не обязательно. Прерывания запрещеть тоже. все и так работает. ; Посему остался один затык на стриание боот секции. Изменено 18 февраля, 2010 пользователем Склихасовский Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 18 февраля, 2010 Опубликовано 18 февраля, 2010 · Жалоба Посему остался один затык на стриание боот секции. А это принципиально, или так, ради науки? Где-то на здесь форуме по boot-секции кто-то отписывался. По-любому лучше внимательно почитать мануал, причем последнюю версию (бывает, что-то новенькое и интересное добавляют). У меня скачанный с Атмела мануал от 12/09 на 445 страниц. Ну, и на application table во флэше там посмотрите. Если требуется сохранять данные, а не перепрошивать программу, то table, по-моему, как раз для этого дела. Да, и этот мануал общий для всех xmeг, так что версия чипа вроде как не очень принципиальна. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
saniok 0 15 марта, 2010 Опубликовано 15 марта, 2010 · Жалоба Добрый день. Извините за возможно ламерский вопрос, но явно упоминаний не нашел нигде: Хочу попробовать использовать микроконтроллер atxmega 128a1, в наличии имею jtag ice mkI (первый который на com) последняя avrstudio вроде как поддерживает эту микросхему только с jtag ice mkII ну и dragon вроде бы. Но я собираюсь использовать IAR, там отдельно можно выбрать и первый дебагер и процессор указать xmega 128. Смогу ли я зашить xmega моим дебагером... а может даже и отладка заработает вдруг ? :rolleyes: Скорость не принципиальна в настоящий момент, интересует вообще возможно ли это ? Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SAWushka 0 15 марта, 2010 Опубликовано 15 марта, 2010 · Жалоба Смогу ли я зашить xmega моим дебагером... Нет, не сможете. Для отладки только: AVR Dragon; AVR JTAGICE mkII или AVR ONE Для программирования AVRISP mkII Кроме того можно собрать клон Плюс автор этого программатора обещал что будет поддержка xmega, но прошивки пока что не выложил. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Склихасовский 0 25 марта, 2010 Опубликовано 25 марта, 2010 · Жалоба Такое наблюдение. кристалл XMEGA 32 A4 наблюдаю нестабильную работу (слишком слабая амплитуда генерации) с внешним кварцем 16,000 мгц. Конденсаторы в обвязке ставил от 7 пф... 29 пф... (10 пф навернное оптимал - что соответсвует ДШ) Характер генерации оличается на разных кристаллах одной серии. на некторых набюлюдаю низкочастотную составляющую. грязь, непромыв итд исключен. сам кварц менял (правда из одной партии) - но на обычных мегах, амплитуда генерации всё ок. с 8,000 никаких проблем. никто не сталкивался? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться