|
Переход Philips->Atmel |
|
|
|
Mar 16 2007, 14:14
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 15-05-06
Пользователь №: 17 104

|
Здравствуйте, господа. Изложу вкратце суть проблемы. Программил я потихоньку на МК LPC210x, и теперь волею судьбы (а точнее, нынешнего работодателя  ), перехожу на Atmel AT91SAM7S. Первое впечатление - куда я попал?!!! Вроде опыт работы с процом ARM-архитектуры имеется, а всё равно с ходу ничего не понятно. Такими же остались только команды и архитектура регистров общего назначения. Ну да с этим понятно, это и есть архитектура. Теперь о грустном. ВСЯ периферия другая Мой вопрос: подскажите, с чего начать осваивать атмелы, где взять примеры кода, есть ли книжка наподобие "Микроконтроллеры LPC2000" Тревора Мартина.
|
|
|
|
|
Mar 16 2007, 15:30
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 3-11-06
Из: Kiev
Пользователь №: 21 933

|
Я бы начал с чтения errata, очень полезный документ! Внимательно про всю используемую периферию, а про PLL в первую очередь. А так.. ничего страшного.
|
|
|
|
|
Mar 16 2007, 15:33
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 15-05-06
Пользователь №: 17 104

|
Цитата(SpiritDance @ Mar 16 2007, 15:01)  Поздравляю. В свое время тоже попал в такую сетуевину, слегка охренел. Тем более что начинать приходилось с поддержки достаточно сложного проекта а не спримеров. Жесть. Осваивал постольку поскольку, постепенно, через сношения с переферией кристалл, иногда в неприглядных позах.  ) Ясненько  Веселуха намечается! Цитата(SpiritDance @ Mar 16 2007, 15:01)  С этим камнем посоветую начинать прямо с исходников, заглядывая в даташит, а не наоборот. Обрадую - книжки нет!! Дык а где взять исходники посложнее мигания светодиодами? С LPC2000 я в своё время быстро разобрался, начав с книжки, а затем читая даташит и исходники. Здесь первый этап отсутствует как класс
|
|
|
|
|
Mar 16 2007, 16:16
|

Дух погибшего транзистора
   
Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288

|
На сайте атмел например http://atmel.com/dyn/products/tools.asp?family_id=605можно также на at91.com полазать. По этому форуму посмотрите, здесь тоже много всякого по этим армам. Где-то здесь была ссылка на русскоязычную инфу по этим камням. Там кое что есть. Могу и я конечно скинуть исходники, но боюсь они станут для Вас кошмаром. Кстати светодиодом моргнуть на этом кристалле уже достаточная проблема для новичка.  ))
--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
|
|
|
|
|
Mar 16 2007, 18:30
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 15-05-06
Пользователь №: 17 104

|
Цитата Не понимаю нафиг тебе переходить. Я вот обратно с SAM7 перехожу на LPC Более современные модели лишены LPC многих своих недостатков и на данный момент эта ветьвь гораздо привлекательнее. Я ж говорю - не по своей воле. Заказчик хочет так  Цитата На gaw.ru есть руское описание переферии сам7. А вот за это СПАСИБО!!! Отличное описание, на мой первый взгляд. Цитата Могу и я конечно скинуть исходники, но боюсь они станут для Вас кошмаром. Кстати светодиодом моргнуть на этом кристалле уже достаточная проблема для новичка.  )) Да вроде ничего проблемного в примерах (от IAR) я не вижу. А надо бы срочно перейти от примеров к аналого-цифровому преобразованию, I2C, SPI, CAN, да чтобы всё это добро от прерываний крутилось, не занимая ценного процессорного времени
|
|
|
|
|
Mar 16 2007, 23:57
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(serj_obninsk @ Mar 16 2007, 13:14)  Мой вопрос: подскажите, с чего начать осваивать атмелы, Берем файл описания регистров из компилятора, тупо копируем в исходник, удаляем все кроме имен регистров, далее берем первый регистр, читаем его описание в даташите, думаем чем его надо проинициализировать в нашей конструкции. И так со всеми регистрами. Когда список закончится - имеем целостное представление о всей периферии. Осваивал так LPC, потом SAM7, потом ADuC. Весь процесс занимает день-два. Цитата(serj_obninsk @ Mar 16 2007, 13:14)  где взять примеры кода, Создать самому на основании чтения даташита. На начальном этапе гораздо эффективнее чем копаться в чужом коде. Во всяком случае для меня.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Mar 17 2007, 13:49
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
чего обосновывать ? DMA на перефирию нету, тока жрет немерянно, половина ног блин - не дай бог куда-нить не туда подтянешь - будет либо крутиться в буте, либо JTAG отрубится либо еще чего, USB движок вообще пьяные индийцы писали, пулл-апов встроенных отключаемых нет, шины I2C open drain only (атмелю никто не помешал верхние транзисторы оставить), ОЗУ мало, возможности зашить чип через USB - нет, защита от копирования слаба настолько, что даже говорить неохота, документация отвратная... короче МУРА Из преимуществ - только MAM - и тот только немного позволяет компенсировать тормознутость перефирии а усе PS возражать мне не надо - нравится с ним трахаться - трахайтесь. Мне тоже приходится.
|
|
|
|
|
Mar 17 2007, 15:23
|
Профессионал
    
Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387

|
Внятно о минусах - только плохая (вроде уже у "новых" поправили) защита, отсутствие встроенных подтяжек у 21-й серии и отсутствие загрузки кода (первый раз) по USB. Я бы добавил 16550 UART со всеми глюками (никак не исправлены и, похоже, это принципиально;( ). Остальное, ИМХО, от предвзятости и "неумения их готовить". Ещё ты забыл пару плюсов LPC - 32-бит таймеры с внятными приспособами, FastIO (DMA - нафиг). Загрузчик через USB от yuri_t есть http://www.tnkernel.com/usb_fw_upgrader.html (интересно, почему Юрий Тёмкин решил поддержать не Атмел? - уже здесь обсуждалось). Альтернативы 23-й серии по факту у Atmel вааще нет (с подтяжками/растяжками и с опендрейн ногами филипs решил "пойти навстречу пожеланиям трудящихся", проложил приятные 2K NVRAM). У меня на одном таймере LPC2138, запущенном с тиком 100 нс и никогда не выключающемся, реализованы системный таймер, интервальный таймер и DPC (deferred procedure calls). При этом пока не нашёл, нафига мне второй  , а в 2378-м их вааще аж 4... SPI + 2 SSP..., ещё не пробовал встроенный контроллер SD/MMC... Конечно, есть моменты, где свои преимущества у Atmel, но рьяно хаить LPC не стОит.
--------------------
aka Vit
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|