Книга по С под ARM (STM)

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Чт июн 16, 2011 20:49:35
Откуда: г. Калининград

Сообщение neit95 »

Здравствуйте. Хотелось бы совет по книгам от знающих людей. Нужно что-то для начинания, а также для последующего использования, как справочник. Обычно эти две тематики в одной книги обычно не совмещаются, поэтому можно посоветовать две книги. Касательно языка, я не уверен, но в ARM под STM вроде есть ещё C++. Если так, то по нему книги тоже подойдут.
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Открою вам страшную тайну: С и С++ - это языки программирования, которые ничем принципиальным не отличаются "для" Windows, Apple, DEC, PDP, ARM, AVR, PIC и даже для К580ВМ80.

Те "нюансы", которые все-таки слегка отличны, можно уместить на 1 страничке. Не ищите то, чего нет. Изучайте язык по любой книге, а архитектуру и аппаратную часть - по документации на выбранную вами платформу.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Чт июн 16, 2011 20:49:35
Откуда: г. Калининград

Сообщение neit95 »

Во многом да, но наличие в C++ ООП делает своё дело.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Наличие ООП делает свое дело - это сомнений не вызывает.
Но только в отношении МК ООП ничего существенно не меняет - все "нюансы", как я уже и писал, могут быть перечислены на 1 странице. И скорее они будут иметь отношение к конкретному компилятору, чем к МК или самому С++
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

Сообщение L.O.D »

Скорее всего, ТС неверно Вас понял даже после вашей второй итерации. Правду говорят, что русский язык очень труден в изучении - приставки, суффиксы, падежи, наклонения ... даже порядок слов в предложении информативен. Если сказано - "С и С++ - это языки программирования, которые ничем принципиальным не отличаются", - то нормальный человек так и понимает, что эти два языка "ничем принципиально не отличаются". :)))

"Язык их - враг их..." ©
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18785
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

признаю: порой не могу изложить свои мысли так, чтобы было понятно неподготовленному человеку :)))

но основной смысл моего спича был в том, что ложка для варенья, борща и чая - это один и тот же инструмент, отличащюийся непринципиально для каждого применения. само собой ложка и вилка друг от друга отличаются, но в области применения всех типов и сортов вилок они так же практически не различимы друг от друга.

так и Си отличается от С++, но каждый поотдельности "для микроконтроллеров" и для "не-микроконтроллеров", и даже для "других микроконтроллеров" отличаются чуть больше, чем "никак".
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

Сообщение L.O.D »

Штука в том, что подготовленному человеку пояснения такого рода попросту не нужны, то есть, нужно расчитывать именно на неподготовленного. :)
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Чт июн 16, 2011 20:49:35
Откуда: г. Калининград

Сообщение neit95 »

Меня наверно тоже не совсем так поняли :)) . Под "наличие в C++ ООП делает своё дело" я имел ввиду по большей части особенности конкретных компиляторов (а скорее даже IDE), т.к. в C++ очень часто любят все функции выносить в здоровую систему классов, поэтому изучение очень часто сводится как раз к изучению этой модели. Т.к. в C ООП нет, то соответственно все то, что в C++ крутят как набор классов, в нём - это набор обычных функций. Т.к. с ARM и STM не знаком (точнее знаком в наиболее общих чертах), моё предположение свелось к тому, что производители какой-либо конкретной IDE под данные мк могли вынести все функции работы с ней (таймеры, прерывания, порты и т.д.) в ООП. Кроме ООП в C++ не советуют пользоваться препроцессором, который в C, на сколько знаю, используется активно. Но на сколько активно я не знаю, т.к. на C писать не приходилось.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 353
Зарегистрирован: Вс янв 19, 2014 22:41:55

Сообщение Siarzhuk »

neit95 писал(а):Но на сколько активно я не знаю, т.к. на C писать не приходилось.
Исходя из той естественной и очевидной предпосылки, что всякий советчик сидит на своей ветке и видит лишь то, что может, хочет и не ленится видеть - смею предложить закопаться без лишних словопрений и мудрствований в практику набивания шишек решением интересуюших вас задачек именно на Сюхе. И коль скоро по мере наращивания опыта сложность ваших проектов достигнет критической массы ранее чем всё это неблагодарное возюканье с компиляторами, вечно-недопечёными ИДЕ, даташито-эрратами и вычурностью мышления железо-производителей расшатает вашу нервную систему до опалесцирования глаз красным, ночных кошмаров и галлюцинаций наяву - тогда уж да, без ООП никак будет вам не обойтись. И ещё, препроцессор недолюбливают за то, что он творит в чужих руках - а когда в твоих собственных - это мощнейшее средство преобразования окружающей безнадёги в сносную среду обитания.
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Чт июн 16, 2011 20:49:35
Откуда: г. Калининград

Сообщение neit95 »

смею предложить закопаться без лишних словопрений и мудрствований в практику набивания шишек решением интересуюших вас задачек именно на Сюхе
Тоже так думаю. Касательно ООП, оно тоже не без шишек, только там они свои, объектно ориентированные :)
Что же касается препроцессора, кроме макрозащиты и иногда некоторых констант, больше его использовать не приходилось.
Встал на лапы
Сообщения: 139
Зарегистрирован: Чт фев 11, 2016 18:35:37

Сообщение L.O.D »

neit95 писал(а):Касательно ООП, оно тоже не без шишек, только там они свои, объектно ориентированные :)
Это ошибка. Кроме "своих, объектно-ориентированных" там есть и общие шишки - процедурные, алгоритмические, синтаксические и так далее. :)
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик
Потрогал лапой паяльник
Сообщения: 315
Зарегистрирован: Чт ноя 29, 2012 08:27:22

Сообщение pixar »

по STM32 книг нет . Есть книги The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 , The Definitive Guide to the ARM Cortex-M0 б Joseph Yiu - рассматривает процессоры, программирование на ассемблере, немного по операцонной системе RTХ, немного по DSP . Все примеры для LPC1xxx и Keil.

есть книга The Designer's Guide to the Cortex-M Processor Family , Trevor Martin - тоже по процессорам и RTOS.

https://www.arm.com/support/university/ ... udents.php
Последний раз редактировалось pixar Чт мар 03, 2016 05:05:32, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Сообщение hybroid »

Если опыта никакого, то надо читать труды отцов основателей языка Си. Какие-то специфические книги пока будут бесполезны. Потом тоже будут бесполезны, т.к. непонятно, для кого и чего их пишут. Видимо поэтому их практически и нет :)))
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Чт июн 16, 2011 20:49:35
Откуда: г. Калининград

Сообщение neit95 »

Опыт есть в компьютерном программировании (на C++). Но с чего начать на ARM для STM?
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Сообщение Vov123 »

neit95 писал(а): Но с чего начать на ARM для STM?

Перефразируя небезызвестного Остапа Бендера, можно сказать так:

— Что же мы видим, товарищи? Мы видим, что блондин программирует хорошо, а брюнет программирует плохо. И никакие лекции не изменят этого соотношения сил, если каждый индивидуум в отдельности не будет постоянно тренироваться в программировании AVR… то есть я хотел сказать — в программировании STM32…
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

pixar писал(а):по STM32 книг нет.
на просторах можно найти следующие книги в pdf:

Мартин М. Инсайдерское руководство по STM32 (рус.)

Geoffrey Brown Discovering the STM32 Microcontroller (англ.)

Carmine Noviello Mastering STM32 (англ.)

имхо для изучения STM32 достаточно родной документации на микроконтроллеры (внутри есть примеры на Си) и примеров применения + appnotes от производителя и примеров SMT32 для ИДЕ Кеил
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Чт июн 16, 2011 20:49:35
Откуда: г. Калининград

Сообщение neit95 »

oleg110592
Спасибо. Честно говоря, в даташитах на них пример не нашёл. Аппноуты ещё не глядел. А книгу скачаю.
Vov123
Я не особо понял вашу мысль, но попробую донести свою: если вам бы лет в 5 дали вузовский учебник по матанализу, я сомневаюсь, что вы бы его осилили.
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Сообщение Vov123 »

neit95 писал(а): если вам бы лет в 5 дали вузовский учебник по матанализу, я сомневаюсь, что вы бы его осилили.
Предлагаю начать с русского, начните с личных местоимений.

По существу, http://mycontroller.ru/old_site/categor ... efault.htm
Там есть всё, чтобы в короткие сроки начать создавать довольно сложные проекты.

Визуализация (от другого автора): https://www.youtube.com/watch?v=Qqk81se ... Vv0ic24jqV
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Чт июн 16, 2011 20:49:35
Откуда: г. Калининград

Сообщение neit95 »

Vov123 писал(а):Предлагаю начать с русского, начните с личных местоимений.
С ними всё в порядке, а за ссылку спасибо.
Грызет канифоль
Сообщения: 298
Зарегистрирован: Ср дек 30, 2009 09:55:39

Сообщение kolobok0 »

neit95 писал(а):Здравствуйте. Хотелось бы совет по книгам...
по сям, как тут уже косвенно прозвучало:
Керниган & Ритчи "Язык программирования Си"

По СТМ.
Тут лучше всего действовать от работающих примеров. Т.е. есть некая демоплата - можно на ебэи купить(можно тупо пропустить этот шаг - если Вы чиссо теоретик и Ваш конь в вакууме), берёте тупо нужный пример кода, компилируете его, заливаете. Работает? да - изучаете код, копаете даташиты, схему, шлифуете до своих нужд, выявляете косяки примера(а их достаточно к сожалению, но они не значительны - что радует:) ).

По ОО подходу. Вообще-то лучше данную методику(т.е. от языка слабо зависящую) применять всегда и везде (хоть на азме, хоть на сях, хоть на пых-пых к примеру) - ведь это единственный самый экономичный способ самого процесса разработки, и основная парадигма его - действовать от жизни (а не от классов, как кажется многим. и всякие патерны - есть зло в этом ключе).
И основная тут книга от Гради Буча (он в принципе один из основателей UML).


(круглый)
ЗЫ
Так-же рекомендую использовать опыт ранее накопленный - т.е. копать и копать форумы. В 99 случаев из ста = Вы не первый на этой планете в обнимку с темой.
Ответить

Вернуться в «ARM»