реклама на сайте
подробности

 
 
> Atmel Studio + ASF + SAM4S, Помогите начать
Haamu
сообщение Mar 12 2014, 09:35
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 12-12-13
Пользователь №: 79 587



В Atmel Studio есть такая чудесная штука под названием Atmel Software Framework (ASF) с кучей прекрасных примеров. Проблема вся в том, что все эти примеры идут под определенные отладочные платы. Да и вообще, как то всё запутано в этом ASF. В интенете как то скудновато информации на эту тему.

У кого есть опыт написания программ с использованием для контроллеров семейства SAM с использованием ASF, поделитесь пожалуйста информацией (или может готовым проектом), с чего начинать. Для начала хотябы как настроить систему тактирования и просто помигать светодиодом.

Существует ли в природе какая-то альтернатива ASF, что нибудь вроде как SPL (Standard Peripherals Library) для STM'ов?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RabidRabbit
сообщение Mar 14 2014, 03:17
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



bb-offtopic.gif А я вот брошу "фи" в сторону Atmel - в SAM D у них есть PTC (Peripheral Touch Controller), а вот описание регистров положить в даташит "забыли" - пользуйтесь QTouch library. Или может вообще нет там никакого PTC, а всё софтом реализовано mad.gif
Go to the top of the page
 
+Quote Post
Alex A. Mihaylov
сообщение Mar 14 2014, 04:29
Сообщение #3


Участник
*

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



Цитата(RabidRabbit @ Mar 14 2014, 07:17) *
bb-offtopic.gif А я вот брошу "фи" в сторону Atmel


Есть такая буква... Безгрешным был только один человек, и того через 33 года распяли. Могу добавить в список камней TWI на SAM'ах - редкостная гадость.
Go to the top of the page
 
+Quote Post
Haamu
сообщение Mar 19 2014, 02:17
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 12-12-13
Пользователь №: 79 587



Всеже предлогаю вернуться к теме. Есть ли какая альтернатива ASF? Именно библиотека для работы с перефирией. Чем-то же люди пользовались до появления ASF? Чем больше разбираюсь с ASF, тем сильнее убеждаюсь, на сколько всё там запутано и усложнено. Взять тот же SPI. Для его инициализации надо вызвать с десяток функций, каждая из которых устанавливает по одному биту в регистр управления. Не проще сделать как у STM, заполнить структуру и проинициализировать всё одной функцией? В то же время инициализацию USART почему-то сделали через структуру. Такое ощущение складывается, что ASF писала не одна команда программистов, а будто куски нахватали из разных мест и собрали в кучу.
Go to the top of the page
 
+Quote Post
Alex A. Mihaylov
сообщение Mar 20 2014, 00:18
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Haamu   Atmel Studio + ASF + SAM4S   Mar 12 2014, 09:35
- - DpInRock   Лучшая альтернатива - Datasheet. Тем более, что к ...   Mar 12 2014, 12:31
- - Alex A. Mihaylov   Цитата(Haamu @ Mar 12 2014, 13:35) какая-...   Mar 13 2014, 00:25
|- - Haamu   Цитата(Alex A. Mihaylov @ Mar 13 2014, 04...   Mar 13 2014, 02:09
- - DpInRock   ЦитатаНо все-же наличие библиотеки очень сокращает...   Mar 13 2014, 03:22
- - Golikov A.   нет это чистая правда. Потому что во время написа...   Mar 13 2014, 07:09
|- - Alex A. Mihaylov   Цитата(Golikov A. @ Mar 13 2014, 11:09) н...   Mar 13 2014, 07:24
|- - Haamu   Цитата(Alex A. Mihaylov @ Mar 13 2014, 11...   Mar 13 2014, 08:32
|- - Alex A. Mihaylov   Цитата(Haamu @ Mar 13 2014, 12:32) Тоже в...   Mar 14 2014, 00:21
|- - Haamu   Цитата(Alex A. Mihaylov @ Mar 14 2014, 04...   Mar 14 2014, 02:24
- - Golikov A.   Цитатав исходниках для каждой функции описание дан...   Mar 13 2014, 09:32
|- - Сергей Борщ   Цитата(Haamu @ Mar 19 2014, 04:17) Не про...   Mar 19 2014, 04:42
- - DpInRock   Блин, пришлось воспользоваться процессором ATSAM3A...   May 8 2014, 17:37
- - dimka76   Цитата(DpInRock @ May 8 2014, 21:37) Вот ...   May 11 2014, 17:08


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01412 секунд с 7
ELECTRONIX ©2004-2016