|
Помогите начать работать с ARM7 Atmel, AT91SAM7x |
|
|
|
 |
Ответов
(45 - 52)
|
Oct 16 2012, 12:01
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Цитата(prottoss @ Oct 16 2012, 14:04)  Гыыы... ржунемогу. Мож за два месяца? Или за год?  Тем более. Лишний аргумент в пользу Си. Про 2 недели я образно выразился. Хотя основы можно и за 2 недели выучить ... Чай ТС не студент, которому в институте только делфи и C# преподавали. Слова типа "регистр" и "косвенно-индексная адресация" его явно в шок не ввергают. Цитата Вы думаете, всем нужен sprintf() в таком виде, в котором он есть? А чем он плох? Тем, что "много лишнего"? Если не нравится, пишите свой, я не против  . Я не сторонник изобретать новый велосипед, если в старом мне не нравятся одни лишь педали .... Цитата Вы думаете, что гораздо проще "от балды" сидеть на си, не зная ассемблера? Для очень многих задач ассемблер вообще не нужен. Даже на АВРе, который гораздо тормознутее любого АРМа. Но "и зайца можно научить курить" ..... Цитата Вы думаете, что все неизбежно пользуются плавучкой? Это еще при том, что в си нету нативной поддержки fixed point, dsp-инструкций и подобного, всегда надо чего-то допиливать. А при чём здесь "плавучка"? Плавучку как раз лучше на си применять, а не на ассемблере. Битовых операций в СИ тоже нету. На этот счёт есть "компиляторо-зависимые расширения", типа PORTA.0 в CvAVR или asm вставки, которые тоже одни хвалят, другие ругают почём свет стоит и пишут на GCC общепринятые конструкции типа PORTA|=0x01 ещё и с кучей макросов "для удобства". А потом иди гадай, что там в машинном коде стоит, одна команда типа sbi или or с кучей регистровых пересылок. Цитата(prottoss @ Oct 16 2012, 14:35)  Потому как для каждой платформы все равно код для работы с портами ВВ, хоть на ассемблере, хоть на Си приходится переписывать. Я называю это драйвером  Согласен на все 100. Сaм стараюсь так писать  .
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Oct 16 2012, 12:36
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(prottoss @ Oct 16 2012, 14:35)  Я называю это драйвером  Это все красиво, когда нет влияния окружения - оси, или... вот простой пример: есть DMA - нету DMA. Появляется сразу некий средний уровень между HAL и приложением. Игнорировать - гробить ресурсы. Цитата(hd44780 @ Oct 16 2012, 15:01)  А чем он плох?  Самый правильный ответ: "А чем он хорош?" Педали там такие, что для разных размещений форматной строки у нас зоопарк функций, и без "много лишнего" - получается вообще ничего, поскольку там все красиво увязано с остальными сущностями stdlib. Лично мне больше нравится printf с хэндлами - вроде как "вес строки" не теряется и не надо дополнительных телодвижений. К тому же, у меня редко, когда тред "стучит" больше чем в один поток ввода-вывода. Цитата А при чём здесь "плавучка"? Плавучку как раз лучше на си применять, а не на ассемблере. Это уже диалог глухих  Цитата Битовых операций в СИ тоже нету. На этот счёт есть "компиляторо-зависимые расширения", типа PORTA.0 в CvAVR или asm вставки, которые тоже одни хвалят, другие ругают почём свет стоит и пишут на GCC общепринятые конструкции типа PORTA|=0x01 ещё и с кучей макросов "для удобства". А потом иди гадай, что там в машинном коде стоит, одна команда типа sbi или or с кучей регистровых пересылок. А нафига оно надо, чай не 90-е Код union _io_register { uint32_t reg; struct _io_register_bits { unsigned mux:3; unsigned relay:1; unsigned shutdn:1; } bits; } io_register; io_register.bits.relay = 1; io_register.bits=(struct _io_register_bits){.mux=3,.relay=1,.shutdn=1};// вот это долго не все поддерживали io_register.reg = 0;
|
|
|
|
|
Oct 16 2012, 15:04
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(prottoss @ Oct 16 2012, 17:11)  Ну милое дело. Тоже самое, не поверите, AT45DB321.  Пишу на Си под stm32f100, будь они неладны. Милое дело - пиковый размер буфера чтения больше 25% озу, это ж хорошо, что без сторонних либ и ртосей, а то за стек страшно стало бы... Так и тянется рука к старшим в линейке камням. Правда, к Си vs Ыссемблер это уже не относится, больше к тому, что сам себе папакарло.
|
|
|
|
|
Oct 16 2012, 15:27
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(prottoss @ Oct 16 2012, 18:11)  Во-во  И это хорошо!  Я контрасту немного наддам: это тоже х, только не хорошо - подвернулась ветка, а там всё, об чём говорили: и неохота лазать по асму, и ртось, и глубина стека под подозрением, и клятый printf с тупо буферизацией в стиле smartdrive. Полный набор. ЗЫ и я сильно сомневаюсь, что трижды обернутый vsprintf не свалил человеку стек.
Сообщение отредактировал _Pasha - Oct 16 2012, 15:30
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|