ATMEL, ARM, STM, с чего начать

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: ATMEL, ARM, STM, с чего начать

Сообщение HHIMERA »

Satyr писал(а):разозлите как нибудь нафиг. сделаю вам мигалку диодом в 100 байт на асме - будете знать :)))
Лучше сразу... в машкодах... )))))))))))))))
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
loginrl103
Родился
Сообщения: 15
Зарегистрирован: Вт июл 03, 2012 12:56:45

Re: ATMEL, ARM, STM, с чего начать

Сообщение loginrl103 »

Люди, ну вот я хочу сёдня отправиться в магазин с комплектухой и взять и пик с платкой и макетку и всякую мелочь. Какую мне платку+пик брать? Или на месте посмотреть что есть в усб и какая подоходит под это дело pic ?
Реклама
Аватара пользователя
atmicandr
Друг Кота
Сообщения: 6166
Зарегистрирован: Вт мар 09, 2010 09:29:27
Откуда: Свердловская область, г. Ирбит

Re: ATMEL, ARM, STM, с чего начать

Сообщение atmicandr »

Слушай, да откуда мы знаем что у тебя в магазе есть? :)
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
loginrl103
Родился
Сообщения: 15
Зарегистрирован: Вт июл 03, 2012 12:56:45

Re: ATMEL, ARM, STM, с чего начать

Сообщение loginrl103 »

ну думаю что в сосковских магазинах выбор комплектующих приличный, пару примеров подкиньте что смотреть.
Реклама
Эиком - электронные компоненты и радиодетали
brutal
Открыл глаза
Сообщения: 47
Зарегистрирован: Вс июн 10, 2012 22:43:19
Откуда: РФ, г. Курск

Re: ATMEL, ARM, STM, с чего начать

Сообщение brutal »

coredumped писал(а):... Одна только инциализация клоков и шин заведет новичка в полный ступор.
на самом деле там ничего сложного нет, если читать reference manual внимательно...

P.S. кстати для новичка мало иметь программатор. очень желателен эмулятор для отладки проекта в железе...
можно на первых порах обойтись PROTEUS'ом...
HHIMERA писал(а):
Satyr писал(а):Он и на стартовом RC генераторе будет фигарить шустрее АВРа (и с фюзами трахаться не надо)
Ой ли???
встроенный генератор HSI выдает (если мне не изменяет память) 16 МГц. А если его через PLL раскочегарить то будут все 32 (линейка L).
Tais sa gueule et écoute un silence
Реклама
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: ATMEL, ARM, STM, с чего начать

Сообщение SubDia »

Для новичков господа из STM придумали специальный Clock Configuration Tool - макрос для excel, который даст возможность оному новичку в прекрасной наглядной форме выбрать свои исходные данные (используется HSI или HSE, PLL или напрямую, коэффициенты делителей мостов и пр.) и нажать кнопку "RUN". После чего макрос сгенерит "system_stm32xxxx", который останется только включить в проект.
Это я высказался только в сторону мнения "о новичках". Поддержка есть.
Агитировать я здесь никого не агитирую, быть может и есть смысл действительно начать с AVR?

ЗЫ.
brutal писал(а):встроенный генератор HSI выдает (если мне не изменяет память) 16 МГц. А если его через PLL раскочегарить то будут все 32 (линейка L).
Память не изменяет. А если на STM32F4xx, то будут все 168 МГц. :)))
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Реклама
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: ATMEL, ARM, STM, с чего начать

Сообщение coredumped »

brutal писал(а): на самом деле там ничего сложного нет, если читать reference manual внимательно...
Вот-вот. Нужно Reference и programmer manual + datasheet на чип + еще в доку на ядро ARM нужно заглядывать. Я поначалу сам терялся где-чего (имея многолетний опыт!), потом привык. У AVR нужен всего лишь один документ - datasheet, в котором даже примеры-кусочки кода есть и на ASM, и на С. Для начинающего осваивать МК - намного проще будет.
И все-же давайте будем объективными. НЕ ЗАБЫВАЕМ, что многие из нас уже по кавырнадцать собак съели вместе с МК :wink: Как я уже писал ранее - напишите мигалку светодиодом под ARM на ассемблере, а я напишу под AVR. Потом напишем небольшой howto для чайников - как это собрать и запихать в микроконтроллер, чтоб это все заработало, и поглядим у кого будет меньше/больше букв :))) Заранее скажу - результат будет, увы, не в пользу ARM. Всеж-таки архитектура по-сложнее будет.
Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: ATMEL, ARM, STM, с чего начать

Сообщение YS »

Для новичков господа из STM придумали специальный Clock Configuration Tool
Распространенная ошибка. Все эти тулзы полезны не для новичков, которые не понимают, как это все делается, а для профи, которым уже все сто лет как ясно, и тупо лень считать руками. Начинающий должен хотя бы с месяцок все посчитать и понабирать руками. А когда придет понимание, можно осторожно переходить к облегчалкам.

Чтобы не было возгласов, что я "не видел, но осуждаю", скажу, что видел. Я сам совсем недавно проходил путь изучения STM8 и STM32.

Так вот, пока я вдумчиво не раскурил все мануалы на чип, я нифига не мог разобраться в архитектуре по тем сведениям, что прилагаются к либам. Библиотеки и облегчалки, которые ST так агрессивно пропихивает, конечно, полезны. Но только после того, как у человека уже есть приличный опыт. Непосредственное обучение новичков на них плодит быдлокодеров.

К слову, насчет производительности. Я пришел к выводу, что STM32 для меня слишком избыточны. У меня просто нет задач под них. А у начинающего и подавно.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: ATMEL, ARM, STM, с чего начать

Сообщение SubDia »

YS писал(а):Распространенная ошибка.
С чего Вы взяли, что это ошибка? Это мое мнение, и совсем не факт, что оно ошибочное. Оно просто иное, вот и все. Речь идет о "быстром старте" - вот Вам быстрый старт. А когда заморгает светодиод (то есть будет какой-то минимальный результат), тогда уже можно и ковырять руками. Результат - он стимулирует..
К слову, лично я пока не перековырял собственными руками практически все внутренности тех МК, с которыми работал (речь об STM32), библиотеками STM пользоваться не начал. Более того, я их избегал. Конечно, читать, понимать и делать руками придется, иначе толку от такого "обучения" - ноль.
YS писал(а):Я пришел к выводу, что STM32 для меня слишком избыточны.
Кстати, я тоже. :))
Но уже за уши не оторвешь.)
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: ATMEL, ARM, STM, с чего начать

Сообщение YS »

С чего Вы взяли, что это ошибка?
Опыт, сын ошибок трудных. :)
А когда заморгает светодиод (то есть будет какой-то минимальный результат), тогда уже можно и ковырять руками. Результат - он стимулирует..
Ой не всегда... Многие ли из поклонников Ардуйни пришли к нормальному эмбеду? Идеология ST - та же ардуйня, но на ARM. Что лично меня огорчает.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: ATMEL, ARM, STM, с чего начать

Сообщение SubDia »

Ой, вот давайте не будет об опыте, ладно? =))
А я вот считаю (к примеру), что ошибаетесь именно Вы, и именно Ваше мнение является ошибочным. Ну вот так я считаю. Как думаете, от этого Ваше мнение стало ошибочным? :)
YS писал(а): Идеология ST - та же ардуйня
Думаете? А как лучше было бы - пойти путем atmel?
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ATMEL, ARM, STM, с чего начать

Сообщение Satyr »

YS писал(а):Идеология ST - та же ардуйня, но на ARM.
Вобще ничего общего
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: ATMEL, ARM, STM, с чего начать

Сообщение coredumped »

По поводу библиотек, мнение свое выскажу я :wink:
+ облегчают жизнь
+ позволяют разобраться как это работает (исходники прилагаются)
- несколько не оптимальный код получается (но не всегда). Этот момент заслуживает отдельного топика, скажу лишь, что мне удалось повысить эффективность критических по времени процедур в 2 раза, только лишь отказавшись от использования вызовов библиотечных функций.

Но опять-таки отходим от темы. Решили ведь, что начинать нужно с ассемблера, при чем тут библиотеки для С?
Насчет уродца - ардуины согласен, что это путь к клиническому идиотизму.
Все будет только лучше, в крайнем случае - хуже.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ATMEL, ARM, STM, с чего начать

Сообщение Satyr »

Вот вобщем, мигалка светодиодом на АРМе за бакс. в железе ПРОВЕРЕНО. 56 байт прошивка. Мигает с полупериодом ~1с на порту A.1

Ну и чего тут такого космического и на порядки более сложного, чем AVR ???

Код: Выделить всё


        MODULE  ?cstartup

        ;; Forward declaration of sections.
        SECTION CSTACK:DATA:NOROOT(3)

        SECTION .intvec:CODE:NOROOT(2)

        EXTERN  main
        PUBLIC  __vector_table
        PUBLIC  __iar_program_start
        
        DATA
__vector_table
        DCD     sfe(CSTACK)
        DCD     Reset_Handler             ; Reset Handlerwaitcyclewaitcycle

GPIO_A_BASE
        DCD     0x40010800        

RCC_APB2BASE
        DCD     0x40021000

WAITVALUE
        DCD     1000000

APB2OFS_ENR     DEFINE  0x18
APB2BIT_GPIOA   DEFINE  4

PIN1PP2MHZ      DEFINE  (2 << 4)

GPIOOFS_CRL     DEFINE  0
GPIOOFS_BSRR    DEFINE  0x10

GPIOBIT1        DEFINE  2


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Default interrupt handlers.
;;
        THUMB

        PUBWEAK Reset_Handler
        SECTION .text:CODE:REORDER(2)
Reset_Handler
    
__iar_program_start
    
        LDR     R2, RCC_APB2BASE
        MOVS     R0, #APB2BIT_GPIOA
        STR     R0, [R2, #APB2OFS_ENR]    ; APB2ENR = GPIOA

        LDR     R2, GPIO_A_BASE
        MOVS     R0, #PIN1PP2MHZ
        STR     R0, [R2, #GPIOOFS_CRL]    ; GPIOA_CRL = 2 ( OUT PushPullll 2)MHZ)

        MOVS     R0, #GPIOBIT1

blinkcycle

        STR     R0, [R2, #GPIOOFS_BSRR]    ; GPIOA_BSR = 1 ( set Pin0)
        MOV     R0, R0, ROR #+16

        LDR     R3, WAITVALUE 
        
waitcycle
        SUBS    R3, R3, #1
        CMP     R3, #0
        BNE.N   waitcycle

        B       blinkcycle

        END

Включили GPIOA, наточили bit 1 на выход в пушпуле, далее дергаем SET/RESET и ждем по секунде.
ГДЕ ТУТ НЕ##ИЧЕСКИЙ КОСМОС ???


проект под IAR:
armedu.zip
(4.79 КБ) 206 скачиваний
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: ATMEL, ARM, STM, с чего начать

Сообщение YS »

ГДЕ ТУТ НЕ##ИЧЕСКИЙ КОСМОС ???
OK. А теперь доступно объясните, что такое:

NOROOT(2)

EXTERN main - почему extern? Там еще что-то с PUBLIC есть... Зачем и почему?

Что это:


__vector_table
DCD sfe(CSTACK)
DCD Reset_Handler ; Reset Handlerwaitcyclewaitcycle


Причем тут вектора? И где они, кстати?

PUBWEAK - что такое и зачем?

REORDER(2)

Вообще что за формат типа SECTION .text:CODE:REORDER(2) ? И так далее.

У AVR все ограничивается .cseg/.dseg/.eseg, остального для начала не надо.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ATMEL, ARM, STM, с чего начать

Сообщение Satyr »

Ну какбе подразумеваются некоторые начальные знания ассемблеров. Все что ниже - из разряда RTFM.

EXTERN, PUBLIC - вполне стандартные декларации импортируемых и экспортируемых сущностей для линкера
PUBWEAK - 'слабое' определение сущности. Которое будет выброшено (а не приведет к конфликту) в случае появления сильного определения.

Конструкции типа SECTION .text:CODE:REORDER(2) - определение сегментов
имя / тип (код, данные rw, данные ro) / флаги / выравнивание (степень двойки)

ROOT/NOROOT - инструкции линкеру оставлять или выкидывать код на который нет обращений
REORDER/NOREORDER - сделать новую секцию кода, либо прилепить к имеющейся секции того же типа

Все это конкретно к IARовскому компилятору. У GNU и Keil практически до букв и запятых так же.

Далее не неблагодарный ликбез, а по сути.

Тот пример я нафигачил за полчаса (с проверкой :))) ) из рыбы стартап модуля из СТ библиотеки. Были лишние ошметки, теперь совсем чистый:

Код: Выделить всё

        MODULE  ?cstartup

        ;; Forward declaration of sections.
        SECTION CSTACK:DATA:NOROOT(3)
        SECTION .intvec:CODE:NOROOT(2)

        PUBLIC  __iar_program_start
        
        DATA

        DCD     sfe(CSTACK)
        DCD     __iar_program_start

GPIO_A_BASE
        DCD     0x40010800        

RCC_APB2BASE
        DCD     0x40021000

WAITVALUE
        DCD     1000000

APB2OFS_ENR     DEFINE  0x18
APB2BIT_GPIOA   DEFINE  4

PIN1PP2MHZ      DEFINE  (2 << 4)

GPIOOFS_CRL     DEFINE  0
GPIOOFS_BSRR    DEFINE  0x10

GPIOBIT1        DEFINE  2


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Default interrupt handlers.
;;
        THUMB

        SECTION .text:CODE:REORDER(2)
    
__iar_program_start
    
        LDR     R2, RCC_APB2BASE
        MOVS     R0, #APB2BIT_GPIOA
        STR     R0, [R2, #APB2OFS_ENR]    ; APB2ENR = GPIOA

        LDR     R2, GPIO_A_BASE
        MOVS     R0, #PIN1PP2MHZ
        STR     R0, [R2, #GPIOOFS_CRL]    ; GPIOA_CRL = 2 ( OUT PushPullll 2)MHZ)

        MOVS     R0, #GPIOBIT1

blinkcycle

        STR     R0, [R2, #GPIOOFS_BSRR]    ; GPIOA_BSR = 1 ( set Pin0)
        MOV     R0, R0, ROR #+16

        LDR     R3, WAITVALUE 
        
waitcycle
        SUBS    R3, R3, #1
        CMP     R3, #0
        BNE.N   waitcycle

        B       blinkcycle

        END
Заявляем сегмент стека (размер линкер возмет из линкер скрипта. но в данном примере мы стек не используем, нет смысла углубляться. формальность)

Начинаем сегмент .intvec , который по линкер скрипту (размещается в начале флеш-памяти ):
define symbol __ICFEDIT_intvec_start__ = 0x08000000;

Это таблица прерываний. Первое 32бит значение - грузится в SP (т.е. вершина стека), второе в PC ( считай начало исполнения программы после резета)

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


итого :

DCD sfe(CSTACK)
DCD __iar_program_start

макро кладет адрес сегмента стека (пофиг, но соблюдение формальности за бесплатно)
адрес начала кода

далее подкладываем еще несколько констант. всеравно сегмент данных, что их лишнее плодить:


GPIO_A_BASE
DCD 0x40010800

RCC_APB2BASE
DCD 0x40021000

WAITVALUE
DCD 1000000

Соотв. базовый адрес GPIO контроллера порта А, базовый адрес контроллера резетов да клоков, постоянная циклов ожидания для моргалки

Далее кое какие дефайны


APB2OFS_ENR DEFINE 0x18
APB2BIT_GPIOA DEFINE 4

PIN1PP2MHZ DEFINE (2 << 4)

GPIOOFS_CRL DEFINE 0
GPIOOFS_BSRR DEFINE 0x10

GPIOBIT1 DEFINE 2

Смещение регистра ENR шины APB2, битик GPIO_A контроллеры в том самом регистре
Значение конфига ноги "1", что мы хотим задать (вобщем то аналог DDRx в AVR)

Смещение регистра CRL (конфиг ног) и BSRR (битовый регистр SET/RESET) GPIO контроллера
И собственно битик, отвечающий за ногу "1"

Ну а дальше сам код


LDR R2, RCC_APB2BASE
MOVS R0, #APB2BIT_GPIOA
STR R0, [R2, #APB2OFS_ENR] ; APB2ENR = GPIOA

LDR R2, GPIO_A_BASE
MOVS R0, #PIN1PP2MHZ
STR R0, [R2, #GPIOOFS_CRL] ; GPIOA_CRL = 2 ( OUT PushPullll 2)MHZ)

Разрешаем в регистре APB2ENR (подаем тактовку) на GPIO_A контроллер
Грузим в регистр GPIOA_CRL конфиг для ноги "1" - работать на выход в пуш-пул режиме

Все, нога у нас настроена.

Взводим в регистр R0 бит ноги "1" для дальнейшего

MOVS R0, #GPIOBIT1

Моргаем.

ну, с задержкой все просто:

LDR R3, WAITVALUE

waitcycle
SUBS R3, R3, #1
CMP R3, #0
BNE.N waitcycle

грузим в R3 наше WAITVALUE
делаем -1, сравнение, возвращаемся на исходную, если пока не ноль.

Непосредственно моргалка.

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

что мы делаем

STR R0, [R2, #GPIOOFS_BSRR] ; GPIOA_BSR = 1 ( set Pin0)
MOV R0, R0, ROR #+16

выводим в BSRR наше значние R0 (там у нас предвариельно сделано MOVS R0, #GPIOBIT1)
далее крутим этот регистр на 16 бит. т.е. наш бит через раз оказывается то в верхнем полурегистре, то в нижнем - вот и моргаем :)))

Вопросы есть ?
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ATMEL, ARM, STM, с чего начать

Сообщение Satyr »

p.s. PUBLIC __iar_program_start - чисто формальность для ИАРовского линкера. Ну никак не хочет собирать, елси не показать ему, где начало программы. хотя ему это по сути до лампочки, чисто внутреннее дело разработчика.
p.p.s. линкерскрипт стандартный generic_cortex. собственно кроме адреса начала флеша (под таблицу прерываний) нам ничего от туда не надо.

Да, и еще - после резета ядро тактуется от 8MHz внутреннего RC генератора, прерывания отключены и т.д. и т.п.

Ну и не помериться, а чисто для интереса - нарисуйте кто нибудь моргалку для AVR на асме и сколько байт прошивка получится ?
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: ATMEL, ARM, STM, с чего начать

Сообщение Satyr »

coredumped писал(а):Как я уже писал ранее - напишите мигалку светодиодом под ARM на ассемблере, а я напишу под AVR.
О! доброволец детектед :beer:
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: ATMEL, ARM, STM, с чего начать

Сообщение YS »

EXTERN, PUBLIC - вполне стандартные декларации импортируемых и экспортируемых сущностей для линкера
PUBWEAK - 'слабое' определение сущности. Которое будет выброшено (а не приведет к конфликту) в случае появления сильного определения.

Конструкции типа SECTION .text:CODE:REORDER(2) - определение сегментов
имя / тип (код, данные rw, данные ro) / флаги / выравнивание (степень двойки)

ROOT/NOROOT - инструкции линкеру оставлять или выкидывать код на который нет обращений
REORDER/NOREORDER - сделать новую секцию кода, либо прилепить к имеющейся секции того же типа
Угу. А теперь объясните нулевому начинающему (а еще хуже - ардуинщику), что такое импорт/экспорт, сегменты, что такое выравнивание и нафига оно надо, что такое секции, и т.п.

Для AVR это выглядит так (бегущий огонек, тактирование - ATmega48 по умолчанию 8МГц + CKDIV8 (с завода с этим фьюзом идут) -> 1МГц):

Код: Выделить всё

.include "m48def.inc"

.cseg
.org 0

	ser R16
	out DDRB,R16

	ldi R16,1

MAIN_LOOP:

	rol R16
	out PORTB,R16

	clr R17
	clr R18
	ldi R19,15


WAIT_LOOP:

	dec R17
	brne WAIT_LOOP

	dec R18
	brne WAIT_LOOP

	dec R19
	brne WAIT_LOOP

	rjmp MAIN_LOOP

Даже тупо читабельнее. И никаких левых директив.

.cseg - собираемся писать код.
.org 0 - положить прямо с начала памяти (и даже не надо пугать нуба словом "прерывание"). Все. Дальше чисто алгоритм.

Код: Выделить всё

ATmega48 memory use summary [bytes]:
Segment   Begin    End      Code   Data   Used    Size   Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x00001e     30      0     30    4096   0.7%
[.dseg] 0x000100 0x000100      0      0      0     512   0.0%
[.eseg] 0x000000 0x000000      0      0      0     256   0.0%

Assembly complete, 0 errors. 0 warnings
30 байт.
56 байт прошивка.
No comments.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
DIHALT
Потрогал лапой паяльник
Сообщения: 387
Зарегистрирован: Пт сен 12, 2008 03:26:14
Контактная информация:

Re: ATMEL, ARM, STM, с чего начать

Сообщение DIHALT »

Если бы не программатор, то я бы вообще рекомендовал АТ89С51 Мировой камень. Периферии практически нет, путаться негде. Для задач новичка хватит за глаза. Когда же полезут ограничения, то переход на другую архитектуру будет прост и осознан.
Изображение
Ответить

Вернуться в «Разные вопросы по МК»