|
книги по ARM7, AT91SAM7S |
|
|
|
Jan 28 2008, 14:40
|
Участник

Группа: Свой
Сообщений: 39
Регистрация: 1-02-07
Пользователь №: 24 952

|
Добрый день Всем.
Только только начал изучение микроконтроллеров ARM7(AT91SAM7S) от Atmel. И хотелось бы узнать, существуют ли книги по этим микроконтроллерам и, если есть, то где их можно приобрести.
P.S. Не предлагать документацию на английском и ссылки на описание данного device-а, т.к. хотелось бы найти именно книгу.
Заранее спасибо.
|
|
|
|
|
 |
Ответов
(1 - 93)
|
Jan 29 2008, 07:36
|
Участник

Группа: Свой
Сообщений: 39
Регистрация: 1-02-07
Пользователь №: 24 952

|
Цитата(Vitaliy_ARM @ Jan 28 2008, 18:45)  Староваты они уже и атмел на них забивать стали, изучайте LPC2000. Они получше будут и книгу,  если надо на русском, я вам дам Нужен именно Atmel, т.к. работать собираемся именно на нем. Цитата(VAI @ Jan 28 2008, 20:42)  там доки нормальные, но хотелось бы именно книгу, т.к. воспринимается лучше, да и не всегда под рукой оказывается комп с выходом в энет.
|
|
|
|
|
Jan 29 2008, 13:54
|
Участник

Группа: Свой
Сообщений: 39
Регистрация: 1-02-07
Пользователь №: 24 952

|
Что ж, будем пока обходиться электронными доками, и буду ждать выхода книги.
|
|
|
|
|
Jan 30 2008, 07:24
|
Группа: Участник
Сообщений: 7
Регистрация: 29-01-08
Из: Новосибирск
Пользователь №: 34 526

|
Доброго времени суток!! Пытаюсь достучаться до купленой платы A91SAMSE-EK - и никак(( По порядку все попытки: --поставил IAR(из комплекта с бордом-она оказалась без ключа-в итоге нашел) --поставил SAMBA(до борда с горем пополам достучался играя перемычками) а вот зашиться не могу- даже самое элементарное(( (преобразовывал hex2bin'ом - в бине почемуто с 8000 адреса получилась прога) Шью SAMB'ой потом ресет-вроде как положена ЭФЕКТА НОЛЬ!!! (из IAR'а с AVR и MSP430 проблем никаких не было) Если сунулся не по теме-не судите строго, плз Рву волосы Жду ответа
|
|
|
|
|
Feb 12 2008, 13:27
|
Участник

Группа: Свой
Сообщений: 39
Регистрация: 1-02-07
Пользователь №: 24 952

|
Цитата(tokha @ Jan 30 2008, 10:24)  Доброго времени суток!! Пытаюсь достучаться до купленой платы A91SAMSE-EK - и никак(( По порядку все попытки: --поставил IAR(из комплекта с бордом-она оказалась без ключа-в итоге нашел) --поставил SAMBA(до борда с горем пополам достучался играя перемычками) а вот зашиться не могу- даже самое элементарное(( (преобразовывал hex2bin'ом - в бине почемуто с 8000 адреса получилась прога) Шью SAMB'ой потом ресет-вроде как положена ЭФЕКТА НОЛЬ!!! (из IAR'а с AVR и MSP430 проблем никаких не было) Если сунулся не по теме-не судите строго, плз Рву волосы Жду ответа  у меня была такая же проблемка, но я ее решил найдя другую версию с кряком. Посмотрите на сервере, там должен быть нормальный IAR
|
|
|
|
|
Apr 18 2008, 08:19
|
Участник

Группа: Свой
Сообщений: 39
Регистрация: 1-02-07
Пользователь №: 24 952

|
Цитата(Fachleute @ Apr 18 2008, 01:21)  Книжка уже вышла --> ссылкаСпасибо. Уже купили. Книжка стоящая.
|
|
|
|
|
Apr 18 2008, 10:54
|
Группа: Новичок
Сообщений: 2
Регистрация: 26-07-07
Пользователь №: 29 392

|
Кто-то может подсказать где можно купить эту книгу в Киеве. Написал письмо в магазин по поводу доставки,но ответа не последовало.
|
|
|
|
|
Apr 23 2008, 18:24
|
Частый гость
 
Группа: Свой
Сообщений: 147
Регистрация: 4-05-06
Пользователь №: 16 779

|
Цитата(toshas @ Apr 23 2008, 11:09)  есть еще отзывы ? это нечто большее чем перевод атмеловских даташитов ? Купил я эту книгу. Смотрю. Первые 600 страниц - перевод даташита на SAM7X256 Потом страниц 30 - описание работы с IAR Последние страниц 70 - несколько проектов для SAM7S64 (исходники) с подробнейшими комментариями - по моему мнению самое ценное.
|
|
|
|
|
Apr 23 2008, 19:24
|
Участник

Группа: Участник
Сообщений: 48
Регистрация: 11-09-05
Пользователь №: 8 451

|
Цитата(dx40 @ Apr 23 2008, 22:24)  Купил я эту книгу. Смотрю. Первые 600 страниц - перевод даташита на SAM7X256 Потом страниц 30 - описание работы с IAR Последние страниц 70 - несколько проектов для SAM7S64 (исходники) с подробнейшими комментариями - по моему мнению самое ценное. А на каком языке, если не секрет.
|
|
|
|
|
May 4 2008, 04:13
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424

|
Выложите на файлообменник пожалста. Интересно почитать на русском..
|
|
|
|
|
May 5 2008, 18:56
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 24-04-08
Пользователь №: 37 059

|
Народ не житесь. Дайте качнуть Редкина ARM7 для Atmel ПИЛЗ. На FTP не свой. ДемонБорд купил а арехов в сером веществе нехватает стартонуть. Хотел купить мукалатуру - а в Украине только балалайки и горох. Очень надо!!!!!!!!!!!!!!!!!!!!!!!!!!! Кто щедрый кинте ссылку petrovav74@mail.ru я тоже русский.
|
|
|
|
|
May 5 2008, 21:22
|
Частый гость
 
Группа: Участник
Сообщений: 160
Регистрация: 5-04-06
Из: Москва
Пользователь №: 15 847

|
Да уж, ну и книжка, полное г. Это просто распечатка с сайта http://www.gaw.ru/html.cgi/txt/doc/micros/...sam7s/index.htmА эти проекты, что идут с ней на диске, можно написать примерно за пол дня, похоже автор особо не заворачивался с ними. Если так программировать, далеко не уехать. А на самое интересные проекты, это работа USB и LAN, там не расписаны, автор просто говорит, что они существуют, это и так понятно. Вопщем покупка данной книги - выброс денег. Хотя распечатывать было неохота - сгодится как справочник.
|
|
|
|
|
May 6 2008, 08:18
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
Цитата(Саша_74 @ May 5 2008, 21:56)  Народ не житесь. Дайте качнуть Редкина ARM7 для Atmel ПИЛЗ. На FTP не свой. ДемонБорд купил а арехов в сером веществе нехватает стартонуть. Хотел купить мукалатуру - а в Украине только балалайки и горох. Очень надо!!!!!!!!!!!!!!!!!!!!!!!!!!! Кто щедрый кинте ссылку petrovav74@mail.ru я тоже русский. В магазине микроника какие то редькины есть. Да и на радиорынке должны быть.
|
|
|
|
|
May 10 2008, 12:15
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(dx40 @ May 5 2008, 11:25)  Появилось на ФТП Это где и как туда добраться?
|
|
|
|
|
May 11 2008, 07:13
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(algidim @ May 5 2008, 23:22)  Да уж, ну и книжка, полное г. Угу. Посмотрел "исходники" - комментарии в стиле "A" - это буква, "1" это цифра, но на русском  ; - язык "C" в абсолютно кондовом варианте - этакая помесь Бэйсика с Паскалем - получается что-то в стиле "моя твоя понимай мал мал однако". Ну нельзя такое в "букварях" писать  ; Код //Функция передачи строки через USART0 void write_str_USART0(char *buff) { /* zlt[ Здесь что Basic? U8 i = 0x0;
while(buff[i] != '\0') { write_char_USART0(buff[i]); i++; } ]zlt */ while( *buff ) write_char_USART0( *buff++ );
} - встречается дурнейший стиль с непоимиенованными константами; - явные перестраховки и глупости с volatile переменными(регистрами) показывающие полное не владение вопросом; Код // функция - обработчик прерывания от timer0 void timer0_c_irq_handler(void) { /*zlt[ Комментировать просто нечего - "исходник" сам за себя говорит. Мрак. AT91PS_TC TC_pt = AT91C_BASE_TC0; unsigned int dummy; //* определение состояния прерывания dummy = TC_pt->TC_SR; dummy = dummy; //чтобы не генерировалось замечание о неиспольз переменной
//* действия при прерывании // // ]zlt*/ AT91C_BASE_TC0->TC_SR; //zlt[] Просто одна строка. } - явные глупости с наложением масок где попало, например 0x1FF на восьмибитовую переменную. - стандартная дурь с 'задержками'. - все исходники и проекты продублированы дважды RAM/Flash- уровень владения аВТОРОМ сей поделки IAR-овской IDE, то, что называтся налицо  - за обильное использование 8-бит переменных на 32-бит ARM платформе и безумные глобальные переменные вообще надо гениталии отрывать; - программирование в стиле "copy-paste" ( напрмер 4 кнопки - 4 подпрограммы ) это ведь даже не детский сад  - большинство исходников просто бездумно надерганные куски сваленные под стук в бубен в какой-нибудь общий файл. Код //Обработчик прерываний от USART0 void Usart_c_irq_handler(void) { /*zlt[ Нет слов, даже матерных,что за хрень здесь наворочена. U8 status; //получение регистра состояния USART0 и номера активного прерывания status = AT91C_BASE_US0 -> US_CSR; status &= AT91C_BASE_US0 -> US_IMR; //если это прерывание при приеме символа USART0, то обработать его if (status & AT91C_US_RXRDY) { //индикация принятого через USART0 символа lcd_pro_data(read_char_USART0(),15); } ]zlt*/ //индикация принятого через USART0 символа lcd_pro_data( AT91C_BASE_US0->US_RHR, 15 ); //zlt[] // Вызов дивной функции с задержками из обработчика прерывания оставим на совести аВТОРА, //как и магичесое число 15 } все это ровно за 10 минут рассмотрения сего "шедевра". Такое "творчество" просто вредно читать начинающим.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 11 2008, 09:53
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ May 11 2008, 11:32)  Вполне себе корректная хрень, если status объявить как U32 и использовать несколько прерываний от UART'а. Там нет нескольких прерываний  нету и комментариев по этому поводу нет..И даже в этом случае накой там: - чтение маски прерываний из контроллера? - контроль AT91C_US_RXRDY в вызываемой функции. В общем бездумно выдранный "из интернету" кусок, да и тот первоначально писанный левой ногой  . А вызов функции с задержками из обработчика прерывания это нормально? А реализация самих задержек это нормально? А масочка 0x1FF в той-же функции это нормально? А муть Код while (!(AT91C_BASE_US0->US_CSR&AT91C_US_RXRDY)==1); в той-же вызываемой функции с какого бодуна писана?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 11 2008, 10:07
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ May 11 2008, 12:02)  В случае нескольких прерываний читать маску приходится, никуда не деться. Я не про читать ФЛАГИ я про чтение и накладывание маски IMR. Код status &= AT91C_BASE_US0 -> US_IMR; Цитата когда человек просто не знает, как работает его железо Это часто, очнь часто, почти всегда встречается в халявных исходниках "из интернету", но тут ведь человек УЧЕБНИК яко-бы написал  не зная ни языка ни контроллера, ни компилятора, ни IDE
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 11 2008, 10:16
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ May 11 2008, 12:09)  А флаги стоят всегда - спасибо фирме Atmel за наше счастливое детство. Стоят-то они стоят но смотреть-то на них зачем (даже аВТОР не смотрит  ), если прерывания не разрешали??? Строкой ниже смотрится один конкретный флаг, если что вдруг, когда, потооом добавятся еще обработчики каких-то ситуаций, то они будут смотреть конкретно на свой флаг. Наличие этой мусорной строки необъяснимо ничем - просто "бубен".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 11 2008, 10:29
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(zltigo @ May 11 2008, 14:16)  Стоят-то они стоят но смотреть-то на них зачем (даже аВТОР не смотрит  ), если прерывания не разрешали??? Строкой ниже смотрится один конкретный флаг, если что вдруг, когда, потооом добавятся еще обработчики каких-то ситуаций, то они будут смотреть конкретно на свой флаг. Наличие этой мусорной строки необъяснимо ничем - просто "бубен". А если у меня, например, стоит флаг TXRDY, а соответствующее прерывание запрещено и обрабатывать я его не хочу?
|
|
|
|
|
May 11 2008, 14:33
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(zltigo @ May 11 2008, 10:13)  ... Такое "творчество" просто вредно читать начинающим. Да здорово вы (zltigo & aaarrr) "обули" автора! Вот только что же читать начинающим? Все оппоненты утверждают, что создание подобных примеров займет не более дня! Мужики сделайте доброе дело - напишите правильные примеры!Хорошо бы их выложить в отдельном топике или в статьях, но так чтоб доступ был только по чтению. Хочу сказать в защиту автора -> может с точки зрения стиля и не очень, но правильна сама задумка - короткие примеры нацеленные на демонстрацию работы с конкретной периферией. А уж тем кто переходит с 8-разрядников, пример как "дрыгнуть" ногой, изначально сэкономит дня два! Я уж не говорю про настройку среды IAR - при первых заходах мрачное зрелище, в смысле ее осмысления.
|
|
|
|
|
May 11 2008, 16:06
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Шурила @ May 11 2008, 18:33)  Все оппоненты утверждают, что создание подобных примеров займет не более дня! Где это они утверждают? Впрочем, да, подобных "примеров" можно наколупать/написать за день изрядное количество. Только кому тогда они нужны будут? Цитата(Шурила @ May 11 2008, 18:33)  Мужики сделайте доброе дело - напишите правильные примеры! Хорошо бы их выложить в отдельном топике или в статьях, но так чтоб доступ был только по чтению. Беда в том, что для составления нормальных примеров нужно все-таки потратить некоторое время - из рабочих проектов их не надергаешь, нужен несколько иной подход. А время = деньги. Я лично готов поделиться некоторыми примерами для SAM7S/SAM7X, если общественность это заинтересует.
|
|
|
|
|
May 11 2008, 16:37
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(aaarrr @ May 11 2008, 19:06)  ... нужен несколько иной подход. А время = деньги. Вовсе не обязательно, выложить весь топик сразу. Пусть бы это было типа FAQ по SAM7S и пополнялось по мере. В конце концов мы все тратим какое-то время на ответы и в общем не за деньги. Наверно найдется достаточное количество народа, которые захотят внести свой вклад в виде конкретных примеров. Другое дело, что это все должно модерироваться уважаемыми гуру.
|
|
|
|
|
May 11 2008, 17:02
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Шурила @ May 11 2008, 16:33)  Хочу сказать в защиту автора -> может с точки зрения стиля и не очень, но правильна сама задумка - короткие примеры нацеленные на демонстрацию работы с конкретной периферией. Примеры чего? Того,как писать не надо? Может в России уже начали выпускать буквари в которых начинают вместо "Маша мыла раму" учить язык с "Аффтар пЫшы Ышшо"? "Коротких примеров" сколь-нибудь полных для периферии сложнее светодиода на халяву не бывает. А для пина - смотрите в комплекте поставки IAR. Там будут и примеры проектов, и мигание светодиодом... Примеры есть обычно и сайте производителя - тоже, как правило не подарок, но и не такой мрак, как у аВТОРА сего шедевра. Цитата Я уж не говорю про настройку среды IAR - при первых заходах мрачное зрелище, в смысле ее осмысления. У IAR вполне приличная документация - просто надо ее ПРОЧИТАТЬ. Прочитать, а не рассматривать какие-то картинки-скриншоты зачем-то напечатанные на бумаге пытаясь понять как оно работает. Цитата(Шурила @ May 11 2008, 18:37)  Пусть бы это было типа FAQ по SAM7S и пополнялось по мере... Ага, откуда такая уверенность, что FAQ-комикс позволит понять то, что не поняли или даже скорее всего не захотели прочитать в родной документации? FAQ это уже для особых тонкостей. FAQ по зажиганию светодиода есть бред.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
May 13 2008, 09:00
|
Группа: Новичок
Сообщений: 5
Регистрация: 14-09-05
Пользователь №: 8 568

|
А по моему всё таки книга неплохая. Сам работаю с lpc2000 и книга вышеозначенного автора хорошо помогла в освоении МК. Структура книги та же. Перевод даташитов и мануала затем справка по иару и исходники. Исходники конечно не очень, это верно, но в целом книга - серьёзное подспорье к электронной документации.
Читать официальные электронные мануалы и хэлпы конечно можно, но для того чтобы хот б запустить контроллер нужно знать, что читать, а в книге структурированно и последовательно описано что надо делать.
|
|
|
|
|
May 14 2008, 22:31
|
Группа: Новичок
Сообщений: 1
Регистрация: 5-04-08
Пользователь №: 36 499

|
Я тоже согласен с этим мнением. Книга неплохая. Единственный и существенный минус - это её цена.
|
|
|
|
|
May 15 2008, 16:09
|
Группа: Новичок
Сообщений: 7
Регистрация: 18-09-07
Пользователь №: 30 646

|
Автор трудился и ему нужна платит. Ну в Болгарии ета книга нет. Если я купит еео. (сажалениу у меня нет некаторъи знаки , писат верно)
|
|
|
|
|
May 28 2008, 10:43
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 24-08-07
Пользователь №: 30 034

|
Нельзя ли бы было выложить отсканеную книгу еще раз, а то с http://slil.ru/25776230 не сливается. Пишет, что файл поврежден.
|
|
|
|
|
Jun 11 2008, 05:22
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(zltigo @ May 12 2008, 02:04)  Подтверждаю, это действительно так! Я недавно наконец взялся за изучение LPC2468. В качестве учебника взял книжку Мартина Тревора, да еще и в оригинале. Помогла чуть чуть. Потому что информация несколько для другого семейства МК. В общем 5 дней читал даташит (мне было очень трудно рзаобраться с PLL да и вообще вся архитектура новая после AVR) + смотрел примеры в WinARM (их там порядочно) и уже сегодня удалось помахать лапкой GPIO и вывести через UART строку. И нет жалости к потраченному времени, зато есть результат. Цитата(hypa @ May 13 2008, 18:00)  Читать официальные электронные мануалы и хэлпы конечно можно, но для того чтобы хот б запустить контроллер нужно знать, что читать, а в книге структурированно и последовательно описано что надо делать. Так вроде официальные мануалы для этого и предназначены... А если и читать книги, то нормальных авторов, например Тревора. Для начала книга очень хорошая!
--------------------
Выбор.
|
|
|
|
|
Jul 20 2008, 19:20
|
Группа: Новичок
Сообщений: 6
Регистрация: 9-02-07
Пользователь №: 25 200

|
Мда, не поленился пробежать топик, уж очень живо высказывался товарисч zltigo. Надо сказать с надрывом в сердце. Видно наболело у человека, и это на самом деле правильно, высказался. С одной стороны - критика всегда полезна, с друой - такого рода выссссказывания помогают новичкам не бездумно срисовывать строчки кода, а пытаться вникнуть что же они пишут. Но говорить что книжки эти читать не надо - слишком уж сгоряча. Вы тоже наверное не родились с микропроцессором в заднице и не понимали много чего пока сами методом тыка не докапались до истины, при этом сколько у вас конкретно ушло на это времени вы не говорите. Люди прочитавшие эти книги и начинающие сейчас освоение этих девайсов заткнут вас за пояс через неск. лет. Так что советовал бы вам умерить в дискуссиях гонор и быть не таким резким. Вас не вопримут так как бы вам этого хотелось. Под вашими диалогами многие углядят гуру и т.п. и побоятся думать не "так как вы". Что есть навязывание. Здесь я не говорю конкретно про ошибки в кодах... я говорю о подходе к образованию вцелом. Литературы у нас по этому вопросу раз и два. И большинство учится по даташитам. Но на моих глазах вырос человек именно по этим книжкам! Да не получалось, да тупил также как и автор книги... с моей небольшой помощью и со своей настырностью он прошел этот путь гораздо шустрее чем я держа перед собой несколько вот этих книг! В этих книгах были переведены узкие места, на которых люди оч часто спотыкаются. Офф получился... но он переродился в него с самой первой страницы. Ничего личного. С уважением к zltigo.
|
|
|
|
|
Jul 20 2008, 19:54
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Diver_ant @ Jul 20 2008, 21:20)  ..с моей небольшой помощью и со своей настырностью он прошел этот путь гораздо шустрее чем я держа перед собой несколько вот этих книг! Чью-то помощь и собственное упорство не способен испохабить даже Редькин. Только вот такие книжки в первую очередь покупают  те, кому не приходится рассчитывать на чье-то человеческое участие. И уж тем более им не хватает упорства и опыта необходимого для критического восприятия подобных творений. Цитата Литературы у нас по этому вопросу раз и два. Зато приличная (по крайней мере написанная добротными техническими писателями) есть за бугром, а без английского по любому делать в электронике нечего.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 21 2008, 09:03
|

Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 6-06-06
Из: Москва
Пользователь №: 17 793

|
Цитата(haker_fox @ Jun 11 2008, 08:22)  Подтверждаю, это действительно так! Я недавно наконец взялся за изучение LPC2468. В качестве учебника взял книжку Мартина Тревора, да еще и в оригинале. Помогла чуть чуть. Потому что информация несколько для другого семейства МК. В общем 5 дней читал даташит (мне было очень трудно рзаобраться с PLL да и вообще вся архитектура новая после AVR) + смотрел примеры в WinARM (их там порядочно) и уже сегодня удалось помахать лапкой GPIO и вывести через UART строку. А если и читать книги, то нормальных авторов, например Тревора. Для начала книга очень хорошая! Специально для начинающих в ARM NXP проводит бесплатные тренинги в Санкт-Петербурге. Полдня теории, полдня практики на вот таких платах в среде Keil:  МК LPC2148. Научитесь не за 5 дней, а за 5 часов. А по поводу книг, даже Тревор Мартин не панацея. Мы тут пытаемся выпустить перевод LPC23xx Insider's guide - качество оригинала оставляет жевать лучшего. А к концу 2009 года ещё планируется выпуск англоязычных LPC32xx Insider's guide и LPC1700 Insider's guide. Кстати, для LPC1700 уже доступен preliminary datasheet и user manual.
--------------------
wbw shahr
|
|
|
|
|
Jul 23 2008, 17:47
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Не читал Редькина, но Тревор мне понравился, хотя вопросов всё равно масса осталась. Мне кажется это от того, что пока нет общего понимания (у меня естественно). А понимание только постепенно приходит.
Книги всё равно помогают, а исходники я практически не рассматриваю. Как и чужие сырцы. Не могу приспособится. Пишу сам или переписываю под себя. Не буду утверждать, что так как я пишу - надо писать, просто так для меня привычнее. Это касается и библиотек для LPC которые в примерах от IAR идут. Приводить не буду, но некоторые вещи вызывают у меня недоумение.
|
|
|
|
|
Jul 25 2008, 08:40
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424

|
А полный электронный вариант никто не встречал?
|
|
|
|
|
Jul 25 2008, 10:08
|

Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 15-11-05
Из: Москва
Пользователь №: 10 895

|
Цитата(Artem @ Jul 25 2008, 12:40)  А полный электронный вариант никто не встречал? Встречал...  Вечером соберусь с силами залью на рапиду...
--------------------
Количество прожитых лет не равно количеству нажитого ума. © Все дешево, что можно купить за деньги. ©
|
|
|
|
|
Jul 25 2008, 18:06
|

Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 15-11-05
Из: Москва
Пользователь №: 10 895

|
Положил в закрома /upload/DOCs/SAM7X_REDKIN.djvu и на рапиду
--------------------
Количество прожитых лет не равно количеству нажитого ума. © Все дешево, что можно купить за деньги. ©
|
|
|
|
|
Jul 28 2008, 06:29
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 4-02-05
Пользователь №: 2 424

|
Вот спасибо. Уже и не надеялся посмотреть на неё. Купить не можем, говорят на складах нету.
|
|
|
|
|
Jul 28 2008, 13:37
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 24-08-07
Пользователь №: 30 034

|
Большое спасибо!
|
|
|
|
|
Jul 28 2008, 15:18
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(aaarrr @ Jul 28 2008, 15:54)  По-моему, за эту "книгу" пора банить... "Ежики плакали, кололись, но продолжали лезть на кактус"  . Если кому-то наличие знакомых русских букв превыше всего , то тут думаю, уже безнадежно и хуже от чтения Редькина уже не будет.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 29 2008, 08:41
|

Группа: Новичок
Сообщений: 3
Регистрация: 29-07-08
Из: Кишинев
Пользователь №: 39 267

|
Fachleute, все равно спасибо за книгу почитал гневные отзывы про нее, но нужно же на чем то учится, пусть и даже на ошибках других.
|
|
|
|
|
Jul 29 2008, 08:57
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(cyberr_bob @ Jul 29 2008, 10:41)  ..пусть и даже на ошибках других. Если Вы уже умеете видеть ошибки других, то зачем Вам уже эта книга? Даже если Вы просто умете узнавать не только русские буквы, то зачем Вам уже эта книга? Если Вы хоть раз держали в руках Кернигана & R (кстати на русском языке имеется в достатке), то зачем Вам уже эта книга с жутчайшими исходниками безмозгло драными с безмозгло писанных исходников на псевдо "C"? Если речь идет о тех - кто не умеет выгребать ошибки лопатой, то к своим ошибкам добавит редькинские. И самое страшное - будет считать, что так и надо писать, ибо в "книге написано"  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 29 2008, 13:20
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Kirill Trusov @ Jul 29 2008, 15:09)  ..в туалет отнести сразу, чтобы было что почитать..... Тем более там не желанный Вам GCC  - Редькин только перевод дюжины первых попавшихся скриншотов от IAR осилил и какого-то рекламного проспекта от Keil. Цитата может правда создатите фак... Читайте форум. Сумма ответов на уже заданные вопросы много в чем поможет. P.P.S. В дополнение к посту №29 "про UART". Еще о Редькине - получил письмо в котором спрашивали, ну "что, например плохого в примерах работы с AT клавиатурой"... Ответить решил в форуме. Для примера набегу подправил (это совершенно не означает, что остальное "творчество" хоть к чему-то пригодно )такой кусочек: Код // функция-обработчик данных от PC-клавиатуры с помощью внешнего прерывания IRQ1 void at91_IRQ1_handler ( void ) { U32 dum=0;
st_bit++; //инкремент счетчика битов
if (st_bit == 11) //не закончен ли прием байта? { st_bit = 0; //сбросить счетчик битов flag_rd_kb=1; //уст флаг "принят байт из клавиатуры" DATA_KB = DATA; //копировать принятый байт в переменную хранения DEL_ST_KL = 0;//обнулить делитель задания интервала сброса ошибки goto RET; } if (st_bit == 10) goto RET; //если это бит четности, ничего не делать if (st_bit == 1) goto RET; //если это стартовый бит, ничего не делать
//иначе, если это бит данных, обработать его if ((AT91F_PIO_GetInput(AT91C_BASE_PIOA) & IN_DATA_PC)==0) { BIT_CLEAR(DATA,(st_bit-2)); } else { BIT_SET(DATA,(st_bit-2));}
RET: //разрешить следующее прерывание IRQ1 dum =AT91C_BASE_PIOA->PIO_ISR; dum =dum; //чтобы не генерировалось замечание о неиспольз переменной } Просто ужас. Нахрен не нужные (как будто на бейсике писано) GOTO, мутные, совершенно ненужные функции типа AT91F_PIO_GetInput. Голубой мути макросы BIT_*, а за написание макросов с "экономией" скобок вообще надо в дворники ссылать. Восьмибитовые st_bit, data - вообще массовое явления для редькинских переменных - исходники драл с какого-то 51... Переменная dum, да еще инициализированная, это вообще дебилизм. Про "стиль" c именами переменных из прописных букв - помолчу. Все вместе ну просто то, что надо для пособия "как нельзя писать программы". На самом деле и собственно функция обработчик подключена через невьебенной ненужности обертку (в cstartup.s79) тупо наворачивающую код в комплекте с огрызками поддержки вложенных прерываний, вместо человеческого подходу к делу Код __irq __arm void at91_IRQ1_handler( void ) Еще контроль стартового/стопового бита отсутствует напрочь, зато сбоку приляпана фигня на таймер... Стало: Код void at91_IRQ1_handler( void ) { if( AT91C_BASE_PIOA->PIO_PDSR & IN_DATA_PC ) data |= (1<<st_bit); if( st_bit < 10 ) st_bit++; //инкремент счетчика битов else { data >>= 1; data_kb = data; //копировать принятый байт в переменную хранения st_bit = data = 0; } //разрешить следующее прерывание IRQ1 AT91C_BASE_PIOA->PIO_ISR; } P.P.S. Больше комментировать исходники "сотворенные" Редькиным не буду, ибо абсолютно все беспросветно и безнадежно.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 30 2008, 07:38
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата ...теперь и я увидел насколько все плохо Это далеко не самый дивный код - посмотрите любимый многими LCD 2x16 вот там полный отвал башки. Цитата(Alexashka @ Jul 30 2008, 08:18)  кстати в вашем варианте видимо нужно вставить обнуление двух последних битов -четности (9) и стопового (10), последний всегда =1. Они обнулены изначально в 32bit переменной data и обнуляются после приема последовательности. При использовании их просто обрезать, что и делается для stop. Можете сдвинуть еще на один бит и обрезать четность, но лучше оставить и анализировать/отсеивать потом по полному коду. Естественно, при нормальном подходе к делу их нужно контролировать - я не добавлял контроль start/stop, поскольку ставил целью просто повторить функционал и дать почувствовать разницу. Цитата и еще объясните невежде что делает последняя строчка? То-же самое,что у Редькина 3 строчки: Код U32 dum=0; //разрешить следующее прерывание IRQ1 dum =AT91C_BASE_PIOA->PIO_ISR; dum =dum; //чтобы не генерировалось замечание о неиспольз переменной AT91C_BASE_PIOA->PIO_ISR это volatile, посему компилятор не может выкинуть обращение к PIO_ISR и будет произведено чтение "в никуда", что и требовалось. Кстати, неиспользуемые переменные, например передаваемые аргументы, эффектнее заглушать так: (void)dum; Для читабельности можно макросик пользовать: Код #define USED(foo) (void)(foo) USED( dum );
Сообщение отредактировал zltigo - Jul 30 2008, 07:48
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 30 2008, 08:34
|

Практикующий маг
     
Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576

|
Кстати, неиспользуемые переменные, например передаваемые аргументы, эффектнее заглушать так: (void)dum; Для читабельности можно макросик пользовать: Код #define USED(foo) (void)(foo) USED( dum ); ясно...спасибо кстати, хорошо бы стелать рубрику "полезные советы"  и добавлять туда такие кусочки кода
|
|
|
|
|
Aug 17 2008, 01:26
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 21-02-08
Пользователь №: 35 272

|
Да. Эта книга "" будет полезна только как datasheet на русском языке, а про работу с IAR и примеры на С лучше пропустить - дабы мозг свой не засорять. В качестве скромного примера как писать на языке Си, могу приложить написанную мной библиотеку для работы с LCD 4470, правда для AVR. А в качестве учебника по языку Си кроме оригинального учебника лучше ничего не видел, в нём всё грамотно и достаточно просто описано (файл прилагается)
|
|
|
|
|
Aug 17 2008, 08:34
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(radiofill @ Aug 17 2008, 03:26)  В качестве скромного примера как писать на языке Си, могу приложить написанную мной библиотеку для работы с LCD 4470 О Господи! Ну не надо так писать на С. Начиная с того, что это никак не "библиотека", извращеного использования хидера, мрачных 0bXXXXXX и совсем не сишных, "задержек от фонаря", asm( "nop" ), именования перменных и функций заглавными буквами, и прочего прочего... При этм тупейшая, лобовая работа с собственно 4470, ни разных режимов, ни опроса готовности, ни загрузки знакогенератора, ни чтения, ни сколь-нибудь реальных диаграмм (для нормального ARM там повылезают требования по выдержке сотен наносекунд )....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 17 2008, 08:55
|

Любитель Кошек
    
Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873

|
Цитата(zltigo @ Aug 17 2008, 11:34)  О Господи! ... тупейшая, лобовая работа с собственно 4470, ни разных режимов, ни опроса готовности, ни загрузки знакогенератора, ни чтения, ни сколь-нибудь реальных диаграмм (для нормального ARM там повылезают требования по выдержке сотен наносекунд ).... Не сочтете ли Вы возможным, в качестве позитивной части обсуждения, выложить код (по возможности с комментариями), как надо делать?
--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
|
|
|
|
|
Aug 17 2008, 11:52
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 21-02-08
Пользователь №: 35 272

|
Цитата(zltigo @ Aug 17 2008, 12:34)  О Господи! Ну не надо так писать на С. Начиная с того, что это никак не "библиотека", извращеного использования хидера, мрачных 0bXXXXXX и совсем не сишных, "задержек от фонаря", asm( "nop" ), именования перменных и функций заглавными буквами, и прочего прочего... При этм тупейшая, лобовая работа с собственно 4470, ни разных режимов, ни опроса готовности, ни загрузки знакогенератора, ни чтения, ни сколь-нибудь реальных диаграмм (для нормального ARM там повылезают требования по выдержке сотен наносекунд ).... Согласен задержки лучше через счётчик сделать, но эт будет тяжеловато для поимания.
|
|
|
|
|
Aug 17 2008, 19:16
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 21-02-08
Пользователь №: 35 272

|
Цитата(zltigo @ Aug 17 2008, 12:34)  О Господи! Ну не надо так писать на С. Начиная с того, что это никак не "библиотека", извращеного использования хидера, мрачных 0bXXXXXX и совсем не сишных, "задержек от фонаря", asm( "nop" ), именования перменных и функций заглавными буквами, и прочего прочего... При этм тупейшая, лобовая работа с собственно 4470, ни разных режимов, ни опроса готовности, ни загрузки знакогенератора, ни чтения, ни сколь-нибудь реальных диаграмм (для нормального ARM там повылезают требования по выдержке сотен наносекунд ).... Не судите строго - я самоучка, спросить совершенно некого. Может у меня книги плохие были?... Учился сначала по "учебнику" по AVRам, Голубцов вроде автор был. Но недавно осозал что лучше родных даташитов ничего не найдёшь.... А заголовочник для 4470 отлично работает, задержки для тактовой частоты 14 МГц. Функция проверки готовности BF_READ()... Можно было готовый заголовочник взять, но захотелось попрактиковаться. И опять же по поводу книг, кроме книги Редькина по ARMам на русском языке ничего не нашёл :-/ Хотелось бы посмотреть на вашу библиотеку для LCD.
|
|
|
|
|
Aug 17 2008, 19:27
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(radiofill @ Aug 17 2008, 15:52)  Согласен задержки лучше через счётчик сделать, но эт будет тяжеловато для поимания. В АВР задержки через таймер расточительно. Но задержки это самая малая часть проблемы. Вы в заголовочном файле размещаете не инлайновые функции и переменные! Представьте ситуацию, что вывод на LCD потребуется сделать из двух модулей - вы подключите этот заголовок в каждый модуль и в результате получите все функции и переменные в двух экземплярах. Естественно линкер будет нецензурно ругаться. Правда CV сам не стандартный и линкера не имеет вовсе, вот и появляются на свет такие странные конструкции. Если Вас устраивает - пользуйтесь, но никому не показывайте. Кстати двоичной записи в стандарте C нет. Вы книжку то почитайте...
|
|
|
|
|
Aug 17 2008, 21:19
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(radiofill @ Aug 17 2008, 21:16)  Хотелось бы посмотреть на вашу библиотеку для LCD. Могу дать, только это не претендует на некую супер библиотеку, это просто аккуратно с пониманием того, что делается написанный код, который при необходимости достаточно легко модифицируется под разные условия использования и разное железо. Писался вкупе с лабораторной работой и меню в свое время где-то за субботний день, потом по мелочи добавлялся.... Для публикации не предназначался. Предназначается в текущем виде для LPC2000. На вопросы, в том числе и каверзные могу ответить
Прикрепленные файлы
lcd_z.rar ( 2.46 килобайт )
Кол-во скачиваний: 190
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 18 2008, 19:21
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 21-02-08
Пользователь №: 35 272

|
Цитата В АВР задержки через таймер расточительно. Но задержки это самая малая часть проблемы. Вы в заголовочном файле размещаете не инлайновые функции и переменные! Представьте ситуацию, что вывод на LCD потребуется сделать из двух модулей - вы подключите этот заголовок в каждый модуль и в результате получите все функции и переменные в двух экземплярах. Естественно линкер будет нецензурно ругаться. Правда CV сам не стандартный и линкера не имеет вовсе, вот и появляются на свет такие странные конструкции. Если Вас устраивает - пользуйтесь, но никому не показывайте. Кстати двоичной записи в стандарте C нет. Вы книжку то почитайте... Почему через таймер расточительно? а как же тогда? если задержка к примеру 30ms? Про модуль не совсем понял. Вы про то, что надо в начале написать чтото вроде: #if !defined(LCD.h) #define LCD.h ...... #endif А насчёт двоичной записи- мне так проще было с флагами эксперементировать  ... а книгу по ARMам я так и не нашёл(... Редькин не в счёт Может хоть ссылка у кого есть? В частности хотелось бы понять как в AT90 Linux запихать и как потом с этим управляться
|
|
|
|
|
Aug 18 2008, 22:06
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(radiofill @ Aug 18 2008, 23:21)  Почему через таймер расточительно? а как же тогда? если задержка к примеру 30ms? Если такие задержки требуются по ходу выполнения программы, то надо изменить алгоритм работы. Если же только при старте, например инициализации LCD и т.п., то такие задержки можно делать хоть через таймер, хоть простым циклом. Цитата(radiofill @ Aug 18 2008, 23:21)  Про модуль не совсем понял. Вы про то, что надо в начале написать чтото вроде: #if !defined(LCD.h) #define LCD.h ...... #endif Это не поможет. Сам принцип раздельной компиляции исключает размещения "тела" функции в заголовочном файле. Исключение из этого правила - инлайновые функции, но тут уж надо следить, чтобы умный компилятор не проигнорировал квалификатор inline. И уж тем более не следует в заголовках объявлять переменные. Цитата(radiofill @ Aug 18 2008, 23:21)  А насчёт двоичной записи- мне так проще было с флагами эксперементировать  Так можно дойти до имен переменных русскими словами. Проще и понятней? Но стандарт языка этого не допускает. Кстати может в CV это и пройдет...  Цитата(radiofill @ Aug 18 2008, 23:21)  ... а книгу по ARMам я так и не нашёл(... Редькин не в счёт Может хоть ссылка у кого есть? В частности хотелось бы понять как в AT90 Linux запихать и как потом с этим управляться ARM тут не причем, надо читать книгу по самому языку C. Вы выше ссылку на K&R приводили, вот ее и почитайте.
|
|
|
|
|
Aug 20 2008, 19:34
|

Участник

Группа: Участник
Сообщений: 26
Регистрация: 21-02-08
Пользователь №: 35 272

|
Цитата(Qwertty @ Aug 19 2008, 02:06)  ARM тут не причем, надо читать книгу по самому языку C. Вы выше ссылку на K&R приводили, вот ее и почитайте. C языком у меня проблем не возникает... может и коряво немного но всё работает Просто ищу книгу по ARMам, может кто скинет - хоть на английском?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|