Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: книги по ARM7
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2
zltigo
Еще кусочек Редькинской хрени:
http://electronix.ru/forum/index.php?showt...mp;#entry423958
haker_fox
Цитата(zltigo @ May 12 2008, 02:04) *
Ответ банален - первоисточники.
http://www.atmel.com/dyn/products/alldatas...ily_id=605#1724
http://www.atmel.com/dyn/products/app_note...p?family_id=605
На худой конец в качестве ОБЗОРНОГО документа достаточно добротных западных писателей, типа http://www.hitex.com/download.html

Подтверждаю, это действительно так!
Я недавно наконец взялся за изучение LPC2468. В качестве учебника взял книжку Мартина Тревора, да еще и в оригинале. Помогла чуть чуть. Потому что информация несколько для другого семейства МК.
В общем 5 дней читал даташит (мне было очень трудно рзаобраться с PLL да и вообще вся архитектура новая после AVR) + смотрел примеры в WinARM (их там порядочно) и уже сегодня удалось помахать лапкой GPIO и вывести через UART строку.
И нет жалости к потраченному времени, зато есть результат.

Цитата(hypa @ May 13 2008, 18:00) *
Читать официальные электронные мануалы и хэлпы конечно можно, но для того чтобы хот б запустить контроллер нужно знать, что читать, а в книге структурированно и последовательно описано что надо делать.

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

Чью-то помощь и собственное упорство не способен испохабить даже Редькин. Только вот такие книжки в первую очередь покупают sad.gif те, кому не приходится рассчитывать на чье-то человеческое участие. И уж тем более им не хватает упорства и опыта необходимого для критического восприятия подобных творений.
Цитата
Литературы у нас по этому вопросу раз и два.

Зато приличная (по крайней мере написанная добротными техническими писателями) есть за бугром, а без английского по любому делать в электронике нечего.
shahr
Цитата(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.
zltigo
Цитата(shahr @ Jul 21 2008, 11:03) *
А по поводу книг, даже Тревор Мартин не панацея.

Не панацея. Естественно поставленное на поток творчество, но тем не менее профессиональная работа по прежевыванию исходной информации, а не свалка недопереведенного и недопереваренного кем попало..
SasaVitebsk
Не читал Редькина, но Тревор мне понравился, хотя вопросов всё равно масса осталась. Мне кажется это от того, что пока нет общего понимания (у меня естественно). А понимание только постепенно приходит.

Книги всё равно помогают, а исходники я практически не рассматриваю. Как и чужие сырцы. Не могу приспособится. Пишу сам или переписываю под себя. Не буду утверждать, что так как я пишу - надо писать, просто так для меня привычнее. Это касается и библиотек для LPC которые в примерах от IAR идут. Приводить не буду, но некоторые вещи вызывают у меня недоумение.
Alexashka
книгой Редькина пользуюсь. впринципе сравнивая с английским даташитом убедился, что книга представляет собой однозначный и довольно качественный перевод датащита. так что для тех у кого нет под рукой твердой копии или не хочется ломать голову над английскими фразами (которые иногда не совсем понятно как переводить когда ты не понимаешь суть вопроса -а это как раз у новичков и есть!), так что для начального ознакомления с железкой рекомендую.
по поводу кода- я не программист, я технарь и спорить не буду- только видно что взяты просто некоторые проекты самого Atmel'a, из которых выкинули почти все лишнее (хотя кое что и осталось) и чтото добавили где нужно. Впринципе я щас сам изучаю этот контроллер и делаю точно также, потому что это проще чем создавать свой проект с нуля, да и не зачем это.
для начинающих могу только сказать что -пишите программы сами- это и полезнее и быстрее чем разбираться в чужом коде.smile.gif
Artem
А полный электронный вариант никто не встречал?
Fachleute
Цитата(Artem @ Jul 25 2008, 12:40) *
А полный электронный вариант никто не встречал?

Встречал... smile.gif Вечером соберусь с силами залью на рапиду...
Alexashka
если надо кому могу диск который с книгой шел залить куданить
Fachleute
Положил в закрома /upload/DOCs/SAM7X_REDKIN.djvu
и на рапиду
Artem
Вот спасибо. Уже и не надеялся посмотреть на неё. Купить не можем, говорят на складах нету.
Alexashka
не знаю может пригодится кому- вот исходники из книги:
~http://rapidshare.com/files/133067344/SAM7_PRO.rar.html
Balaganoff
Большое спасибо!
aaarrr
Цитата(Alexashka @ Jul 28 2008, 17:11) *
не знаю может пригодится кому- вот исходники из книги:

По-моему, за эту "книгу" пора банить, как за курс 123. Исходники омерзительные.
zltigo
Цитата(aaarrr @ Jul 28 2008, 15:54) *
По-моему, за эту "книгу" пора банить...

"Ежики плакали, кололись, но продолжали лезть на кактус" sad.gif. Если кому-то наличие знакомых русских букв превыше всего , то тут думаю, уже безнадежно и хуже от чтения Редькина уже не будет.
Alexashka
Цитата(aaarrr @ Jul 28 2008, 17:54) *
По-моему, за эту "книгу" пора банить, как за курс 123. Исходники омерзительные.

ну вот -одному человеку пригодилось, значит не зря rolleyes.gif
aaarrr
Граната ребенку тоже пригодится? Впрочем, наверное, zltigo прав, и здесь уже ничем не поможешь.
tyro
Цитата(aaarrr @ Jul 28 2008, 16:54) *
По-моему, за эту "книгу" пора банить, как за курс 123. Исходники омерзительные.

Если "банить" за книгу, то автора книги. При этом следует учесть, что что-то лучше чем ничего (имею ввиду литературу на русском языке). smile.gif
cyberr_bob
Fachleute, все равно спасибо за книгу smile.gif
почитал гневные отзывы про нее, но нужно же на чем то учится, пусть и даже на ошибках других.
zltigo
Цитата(cyberr_bob @ Jul 29 2008, 10:41) *
..пусть и даже на ошибках других.

Если Вы уже умеете видеть ошибки других, то зачем Вам уже эта книга?
Даже если Вы просто умете узнавать не только русские буквы, то зачем Вам уже эта книга? Если Вы хоть раз держали в руках Кернигана & R (кстати на русском языке имеется в достатке), то зачем Вам уже эта книга с жутчайшими исходниками безмозгло драными с безмозгло писанных исходников на псевдо "C"?
Если речь идет о тех - кто не умеет выгребать ошибки лопатой, то к своим ошибкам добавит редькинские. И самое страшное - будет считать, что так и надо писать, ибо в "книге написано" sad.gif.
SpiritDance
Цитата(tyro @ Jul 29 2008, 08:45) *
Если "банить" за книгу, то автора книги.

В смысле отключать от матрицы штоли? wacko.gif
Kirill Trusov
Эх, заказал эту книгу, ибо издательство хорошее да и больше нечего заказывать было.... а судя по вашим отзовам придется её на огород в туалет отнести сразу, чтобы было что почитать.....

может правда создатите фак, например с чаво начать, как правельно поставить гцц и иде настроить, какой программатор спаять и как программировать
zltigo
Цитата(Kirill Trusov @ Jul 29 2008, 15:09) *
..в туалет отнести сразу, чтобы было что почитать.....

Тем более там не желанный Вам GCC smile.gif - Редькин только перевод дюжины первых попавшихся скриншотов от 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.
Больше комментировать исходники "сотворенные" Редькиным не буду, ибо абсолютно все беспросветно и безнадежно.
Alexashka
2 zltigo: теперь и я увидел насколько все плохо crying.gif по правде сказать я эти исходники толком не смотрел, но конструкции и правда нелепые.
кстати в вашем варианте видимо нужно вставить обнуление двух последних битов -четности (9) и стопового (10), последний всегда =1.
и еще объясните невежде что делает последняя строчка?
zltigo
Цитата
...теперь и я увидел насколько все плохо

Это далеко не самый дивный код - посмотрите любимый многими 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 );
Alexashka
Кстати, неиспользуемые переменные, например передаваемые аргументы, эффектнее заглушать так:
(void)dum;
Для читабельности можно макросик пользовать:
Код
#define USED(foo)    (void)(foo)
USED( dum );


ясно...спасибо

кстати, хорошо бы стелать рубрику "полезные советы" smile.gif и добавлять туда такие кусочки кода
defunct
Цитата(zltigo @ Jul 30 2008, 10:38) *
Для читабельности можно макросик пользовать:
USED( dum );

Для читабельности лучше обозвать "ignore".
Kirill Trusov
книгу можно скачать отсюда : http://www.infanata.org/civil/hardware/114...semejjstva.html
radiofill
Да. Эта книга "" будет полезна только как datasheet на русском языке, а про работу с IAR и примеры на С лучше пропустить - дабы мозг свой не засорять.
В качестве скромного примера как писать на языке Си, могу приложить написанную мной библиотеку для работы с LCD 4470, правда для AVR.
А в качестве учебника по языку Си кроме оригинального учебника лучше ничего не видел, в нём всё грамотно и достаточно просто описано (файл прилагается)
Kirill Trusov
спасибо, почитаю всё так ритчи
zltigo
Цитата(radiofill @ Aug 17 2008, 03:26) *
В качестве скромного примера как писать на языке Си, могу приложить написанную мной библиотеку для работы с LCD 4470

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

Не сочтете ли Вы возможным, в качестве позитивной части обсуждения, выложить код (по возможности с комментариями), как надо делать? smile.gif
zltigo
Цитата(tyro @ Aug 17 2008, 10:55) *
Не сочтете ли Вы возможным...

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


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

Не судите строго - я самоучка, спросить совершенно некого. Может у меня книги плохие были?... Учился сначала по "учебнику" по AVRам, Голубцов вроде автор был. Но недавно осозал что лучше родных даташитов ничего не найдёшь....
А заголовочник для 4470 отлично работает, задержки для тактовой частоты 14 МГц. Функция проверки готовности BF_READ()... Можно было готовый заголовочник взять, но захотелось попрактиковаться.
И опять же по поводу книг, кроме книги Редькина по ARMам на русском языке ничего не нашёл :-/
Хотелось бы посмотреть на вашу библиотеку для LCD.
Qwertty
Цитата(radiofill @ Aug 17 2008, 15:52) *
Согласен задержки лучше через счётчик сделать, но эт будет тяжеловато для поимания.

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

Могу дать, только это не претендует на некую супер библиотеку, это просто аккуратно с пониманием того, что делается написанный код, который при необходимости достаточно легко модифицируется под разные условия использования и разное железо. Писался вкупе с лабораторной работой и меню в свое время где-то за субботний день, потом по мелочи добавлялся.... Для публикации не предназначался. Предназначается в текущем виде для LPC2000. На вопросы, в том числе и каверзные могу ответить smile.gif
radiofill
Цитата
В АВР задержки через таймер расточительно. Но задержки это самая малая часть проблемы. Вы в заголовочном файле размещаете не инлайновые функции и переменные! Представьте ситуацию, что вывод на LCD потребуется сделать из двух модулей - вы подключите этот заголовок в каждый модуль и в результате получите все функции и переменные в двух экземплярах. Естественно линкер будет нецензурно ругаться. Правда CV сам не стандартный и линкера не имеет вовсе, вот и появляются на свет такие странные конструкции. Если Вас устраивает - пользуйтесь, но никому не показывайте.
Кстати двоичной записи в стандарте C нет. Вы книжку то почитайте...


Почему через таймер расточительно? а как же тогда? если задержка к примеру 30ms?

Про модуль не совсем понял. Вы про то, что надо в начале написать чтото вроде:
#if !defined(LCD.h)
#define LCD.h
......
#endif

А насчёт двоичной записи- мне так проще было с флагами эксперементировать laughing.gif

... а книгу по ARMам я так и не нашёл(... Редькин не в счёт
Может хоть ссылка у кого есть? В частности хотелось бы понять как в AT90 Linux запихать и как потом с этим управляться
zltigo
Цитата(radiofill @ Aug 18 2008, 21:21) *
В частности хотелось бы понять как в AT90 Linux запихать и как потом с этим управляться

Не, линукс в AT90 запихивать не надо (этого не понять, это нужно запомнить), а AT90 в .... э... куда-нибудь smile.gif.
Qwertty
Цитата(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) *
А насчёт двоичной записи- мне так проще было с флагами эксперементировать laughing.gif

Так можно дойти до имен переменных русскими словами. Проще и понятней? Но стандарт языка этого не допускает. Кстати может в CV это и пройдет... smile.gif
Цитата(radiofill @ Aug 18 2008, 23:21) *
... а книгу по ARMам я так и не нашёл(... Редькин не в счёт
Может хоть ссылка у кого есть? В частности хотелось бы понять как в AT90 Linux запихать и как потом с этим управляться

ARM тут не причем, надо читать книгу по самому языку C. Вы выше ссылку на K&R приводили, вот ее и почитайте.
radiofill
Цитата(Qwertty @ Aug 19 2008, 02:06) *
ARM тут не причем, надо читать книгу по самому языку C. Вы выше ссылку на K&R приводили, вот ее и почитайте.


C языком у меня проблем не возникает... может и коряво немного но всё работает smile3046.gif

Просто ищу книгу по ARMам, может кто скинет - хоть на английском?
zltigo
Цитата(radiofill @ Aug 20 2008, 21:34) *
Просто ищу книгу по ARMам, может кто скинет - хоть на английском?

Как ни странно smile.gif - arm.com
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.