|
Atmel Studio + ASF + SAM4S, Помогите начать |
|
|
|
Mar 13 2014, 00:25
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 15-11-10
Из: Санкт-Петербург
Пользователь №: 60 892

|
Цитата(Haamu @ Mar 12 2014, 13:35)  какая-то альтернатива ASF, что нибудь вроде как SPL (Standard Peripherals Library) для STM'ов? А в чем проблема? Там есть замечательный USER BOARD - потом говоришь камень в основе и все. Тебе остается в хедере подправить настройки тактирования для работы. А всеми прелестями ASF можешь пользоваться. Что до Keil (IHMO: боже упаси) или IAR (IHMO: больше с лицензией воюешь, чем программируешь. А ценник совершенно неадекватный.) то не рекомендую. AVR и ARM gcc в основе AVRStudio - штука достаточная для работы и в то же самое время весьма не хилая. А gdb в него так здорово интегрирован, что последний козырь IAR'а оказывается побит. У него, правда, еща распоследний есть - макроязык для стимуляции входных данных - но это совсем на любителя. Но в целом - лучшая библиотека это документация на чип. Тут я с коллегой согласен.
Сообщение отредактировал Alex A. Mihaylov - Mar 13 2014, 00:27
|
|
|
|
|
Mar 13 2014, 02:09
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 12-12-13
Пользователь №: 79 587

|
Цитата(Alex A. Mihaylov @ Mar 13 2014, 04:25)  Но в целом - лучшая библиотека это документация на чип. Тут я с коллегой согласен. Полностью с вами согласен и не отрицаю необходимость изучения документации на контроллер. В узких местах без прямого обращения к регистрам не обойтись, иной раз даже к ассемблеру не грех обратиться. Но все-же наличие библиотеки очень сокращает процесс написания программы. IAR или Keil... Как то уж очень ценник у них пугающий. Пока обхожусь функционалом бесплатных IDE.
|
|
|
|
|
Mar 13 2014, 07:24
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 15-11-10
Из: Санкт-Петербург
Пользователь №: 60 892

|
Цитата(Golikov A. @ Mar 13 2014, 11:09)  нет это чистая правда. Потому что во время написания программ НЕ входит: отладка, тупежка почему оно не работает, мольбы помочь определить место куда забить костыль, переписка с поддержкой, ответы на негативные отзывы пользователей и прочее... Не совсем. IHMO лучше тупежка при запуске, чем она же при сопровождении. А профи ВСЕГДА пишет так, чтоб можно было без проблем сопровождать код. И уж подавно не надо молить о поддержки, а после забивать костыли. Надо читать мануалы до полного просветления. И уж подавно реагировать на негативные отзывы - это просто кормить тролей. К теме форума: ASF хорош, но не догма. В частности I2C device там сделан просто отвратительно. А вот USB device на порядок лучше STM'овского. Впрочем, Atmel любят именно за то, что с их чипами можно работать и по голому железу (опять камень в сторону огорода ST).
|
|
|
|
|
Mar 13 2014, 08:32
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 12-12-13
Пользователь №: 79 587

|
Цитата(Alex A. Mihaylov @ Mar 13 2014, 11:24)  Не совсем. IHMO лучше тупежка при запуске, чем она же при сопровождении. Полностью с Вами согласен. Цитата(Alex A. Mihaylov @ Mar 13 2014, 11:24)  Надо читать мануалы до полного просветления. Тоже верно. Но вот что делать, если мануалы не особо информативны. У тех же ST SPL на столько просто устроена. Для каждой периферии по одному исходнику с заголовочником, в исходниках для каждой функции описание дано, что никакой мануал и не нужен становится. А в ASF всё как-то уж очень запутано. Тут всё дело в универсальности, одна библиотека на все случаи жизни. Цитата(Alex A. Mihaylov @ Mar 13 2014, 11:24)  Впрочем, Atmel любят именно за то, что с их чипами можно работать и по голому железу (опять камень в сторону огорода ST). STM ни чуть не уступает в этом плане. CMSIS то для всех одинакова. Цитата(Alex A. Mihaylov @ Mar 13 2014, 11:24)  К теме форума: ASF хорош, но не догма. А есть альтернатива? Всмысле другая библиотека какая?
|
|
|
|
|
Mar 14 2014, 00:21
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 15-11-10
Из: Санкт-Петербург
Пользователь №: 60 892

|
Цитата(Haamu @ Mar 13 2014, 12:32)  Тоже верно. Но вот что делать, если мануалы не особо информативны. У тех же ST SPL на столько просто устроена. Для каждой периферии по одному исходнику с заголовочником, в исходниках для каждой функции описание дано, что никакой мануал и не нужен становится. А в ASF всё как-то уж очень запутано. Тут всё дело в универсальности, одна библиотека на все случаи жизни. Ну... У ASF есть отличная документация на сайте. Например, вот страница про I2C-slave для xMega (Хм... Мне показалось или этот кусок переписан и стал несравнимо лучше). Да и сама Atmel Studio открывает как раз нужную станицу. Цитата(Haamu @ Mar 13 2014, 12:32)  STM ни чуть не уступает в этом плане. CMSIS то для всех одинакова. Ни за что! Да, конечно, CMSIS одна, ибо она описывает ARMовское ядро. А вот набор регистров перефирии разный. Как и их содержание. По мне ST чем-то похож на Китайский автомобиль. Каждая интерфейсная часть - прямо чудо. И все предусмотрено, и кнопочек-ручечек вагон, сидухи с шикарной подержкой, двигло отлично, коробка - класс, мафон с офигенным экраном просто чудо. Но в целом не чип, а сборище понадерганных кусков (сидухи примялись и отвалились, двигла не хватает для коробки, мафон не воспроизводит MP3, а кнопочками-ручечками вслепую пользоваться не получается - слишком плотно, соседнюю зацепляешь). Atmel в этом плане прямо красная Итальянская машинка с лошадкой на капоте. В том смысле, что дизайн не броский, сидухи без изысков, мафона вообще нет да еще и задний привод! Но раз прокатившись полюбишь навсегда. Ибо все составные части четко выверены и подогнаны. Все для твоего удобства. Впрочем, каждый выбирает для себя... Возможно, я слишком критичен. Цитата(Haamu @ Mar 13 2014, 12:32)  А есть альтернатива? Всмысле другая библиотека какая? Ну так сказали же - есть. Документация на процессор. И уж поверьте мне, применительно к Atmel это не отсыл в лес, а реально дельный совет. Попробуйте. Вам обязательно понравится.
Сообщение отредактировал Alex A. Mihaylov - Mar 14 2014, 02:06
|
|
|
|
|
Mar 14 2014, 02:24
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 12-12-13
Пользователь №: 79 587

|
Цитата(Alex A. Mihaylov @ Mar 14 2014, 04:21)  По мне ST чем-то похож на Китайский автомобиль. ... Atmel в этом плане прямо красная Итальянская машинка с лошадкой на капоте. Если честно, пока не увидел такую разницу. Наверно я еще до конца не распробывал ни первый, ни второй. Спасибо за советы, буду разбираться.
|
|
|
|
|
Mar 14 2014, 04:29
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 15-11-10
Из: Санкт-Петербург
Пользователь №: 60 892

|
Цитата(RabidRabbit @ Mar 14 2014, 07:17)   А я вот брошу "фи" в сторону Atmel Есть такая буква... Безгрешным был только один человек, и того через 33 года распяли. Могу добавить в список камней TWI на SAM'ах - редкостная гадость.
|
|
|
|
|
Mar 20 2014, 00:18
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 15-11-10
Из: Санкт-Петербург
Пользователь №: 60 892

|
Цитата(Haamu @ Mar 19 2014, 06:17)  Такое ощущение складывается, что ASF писала не одна команда программистов, а будто куски нахватали из разных мест и собрали в кучу. Категорически неправильное ощущение. Все дело в том, что ASF API работает на всех камнях от Atmel'а (AVR, AVR32, xMega, Cortex'ы). Как следствие универсальности усложненность и избыточность. Поэтому подходит для быстрого прототипирования, но не желательно (не невозможно, а нежелательно) применять его в конечном изделии. Но тенденция в Ваших вопросах мне нравится. Еще немного и Вы поймете, что ASF или STM Lib всего лишь средство прототипирования. Что до кокретно взятого SPI. Возъмем его API. Что мы имеем? Код spi_set_baudrate_div(...) spi_set_bits_per_transfer(...) spi_set_clock_phase(...) spi_set_clock_polarity(...) spi_enable_clock(...) Вы видите более удобной запись в стиле ST: Код struct { .baud = ... .bits = .... .CPA = .... .CPH = .... } spi_master;
eneble_periph_clock(...) spi_deinit(); spi_init(spi_master): Ну не знаю... Я даже не буду говорить о том, что память под структуру выделяется либо глобально (и забирает ее у проекта) либо в стеке и тем самым заставляя его расти. Но он просто выглядит куда более громозко и неиформативно. Конечно, если знать что такое SPI, какие главные параметры ему надо выставить. Но ведь даже ST не снимает этого ограничения. Я в свое время долго думал над этой их структурой. Половина структуры относится к SPI, половина к I2S при этом что к чему неочевидно. А еще и есть поля, относящиеся и к одному и к другому. А хваленые коментарии в коде не помогают чуть меньше чем совсем. Только чтение datasheet и понимание текста функции init(). Здесь (IHMO) все гораздо прозрачнее. Да и вообще, но по моим ощущениям именно это и есть крайне неудобная часть в STM библиотеке. Хуже только USB стек с бесконечными Код unsigned char devDesc[] = { 0xFA, 0xFB, // wVendorId 0x00, 0x01, // wProductId .... } Только за это расстрелял бы на месте.
Сообщение отредактировал Alex A. Mihaylov - Mar 20 2014, 00:32
|
|
|
|
|
May 11 2014, 17:08
|

developer
   
Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032

|
Цитата(DpInRock @ May 8 2014, 21:37)  Вот мне было бы интересно просверлить голову тому чуваку, который эту ASF затеял и посмотреть что там есть. Мне тоже ))). Свалили все в одну кучу. До этого у них был AT91SoftwarePakage (или как-то так) все гораздо прозрачнее было.
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|