QUOTE (IGK @ Jul 30 2010, 20:12)

Но что-то этот ассемблер мне дается труднее, чем АВРовский...
Ассемблер, это в смысле системы команд? Да, это не AVR и если нет навыков к работе с разнообразными системами команд, то тяжело

. А вообще система команд (про Ассемблер, как инструментальное средство позже) очень приличная (это с учетом писательства, например, на 8088

), непривычная, после вагона регистров и load/store от AVR, но очень даже дружелюбная. Cудя по моему предыдущему опыту, программироваться должно "ровнее" и однообразнее. Дальше идет собственно синтаксис, вот тот синтаксис, который ST мне заметно не понравился. Пробовал почитать - в голове сидят другие синтаксисы и сбивают очень сильно

. Впрочем это общая болезнь всех ассемблеров. То, чего надо еще смотреть, а какие собственно сервисы предоставляет собственно Ассемблер, как инструментальная программа за пределами трансляции в коды? При имеющемся многообразии 8-16-24 бит адресации тот-же Ассемблер (как инструмент) способен самостоятельно разбираться, например, а как адресоваться к `дата` в команде LD A,data short? long? extended?.
Ну а вообще после 4-5-6 ассемблера и 2-3-4 мегабайта исходников на ASM, ясно понимаешь, что писать эти самые мегабайты на ASM не стоило

. Достаточно уметь читать ASM и быть способным написать на ASM несколько сот команд одним куском.
QUOTE (vesago @ Jul 30 2010, 19:14)

Не очень понравилось, что в хедерах кишки в виде масок представлены.
Ну это как раз совершенно правильно - максимально гибкий, универсальный и переносимый вариант. Кривизна в том, что НЕ только ввиде масок - имеет место быть каша из IARовских красатулек
CODE
typedef struct
{
unsigned char TIM2_EV0 : 1;
Оберток на этих красатульках:
CODE
#define WFE_CR1_TIM2_EV0 WFE_CR1_bit.TIM2_EV0
нормальных битовых описаний:
QUOTE
#define MASK_WFE_CR1_TIM2_EV0 0x01
и того, что эти макро имеют имена начинающиеся с MASK

. Так-что все как обычно надо будет править и чистить.
Или Вам жаль что не в Atmel стиле - (1<<EV0)? Вот уж где море разливанное символов "( 1 0 << )" для спотыкания глазом и простор для ошибок (даже имени регистра нет к которому бит относится ) на ровном месте

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