|
|
  |
at91, помогите разобраться |
|
|
|
Aug 18 2008, 22:50
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(aaarrr @ Aug 19 2008, 01:40)  А это, интересно, чьи: Цитата Можно ничего не читая про DMA правильно с ним работать! Фраза, выдранная из контекста меняет смысл полностью. Я не давал рекомендаций забивать на документацию нигде. В оригинале было: Цитата Там алгоритм загрузки указателей DMA. Можно ничего не читая про DMA правильно с ним работать! В этом и прелесть. Упор был на то, что достаточно сложный модуль можно использовать без елозиния по ДШ часами. Цитата Google по этой строчке находит at91sam7x256.h. Неужели в одну секунду lib_ и .h сделали? Я так понимаю это дата всего пакета. //* File Name : lib_AT91SAM7X256.h //* Object : AT91SAM7X256 inlined functions //* Generated : AT91 SW Application Group 09/12/2005 (15:39:14)
|
|
|
|
|
Aug 18 2008, 23:03
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(defunct @ Aug 19 2008, 02:50)  Фраза выдранная из контекста менят смысл полностью. Я не давал рекомендаций забивать на документацию нигде. В оригинале было: Цитата Там алгоритм загрузки указателей DMA. Можно ничего не читая про DMA правильно с ним работать! В этом и прелесть.
Контекст здесь только уточняет, что можно пользоваться алгоритмом не читая документацию. Смысл не меняется. Цитата(defunct @ Aug 19 2008, 02:50)  Упор был на то, что достаточно сложный модуль можно использовать без елозиния по ДШ часами. PDC сам по себе простой, как грабли - полное описание занимает 2 страницы. Цитата(defunct @ Aug 19 2008, 02:50)  Я так понимаю это дата всего пакета. ОК. И что, в ней нет функции AT91F_PITInit? У меня: Код //* File Name : lib_AT91SAM7X256.h //* Object : AT91SAM7X256 inlined functions //* Generated : AT91 SW Application Group 08/18/2006 (15:29:55) ... //* CVS Reference : /lib_pitc_6079A.h/1.2/Thu Nov 4 14:01:11 2004//
|
|
|
|
|
Aug 18 2008, 23:19
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(aaarrr @ Aug 19 2008, 02:03)  ОК. И что, в ней нет функции AT91F_PITInit? нет  Цитата Контекст здесь только уточняет, что можно пользоваться алгоритмом не читая документацию. Смысл не меняется. Да, алгоритмом пользоваться можно. Смысл меняется кардинально. Документация создается для описания устройства и алгоритмов работы с ним, а в ReceiveFrame мы имеем описание алгоритма 10-ю строчками. Чем в таком случае lib_ не удовлетворяет понятию документация? Цитата PDC сам по себе простой, как грабли - полное описание занимает 2 страницы. Простой, но тем не менее многие делают типичную ошибку - загружают только 1 указатель.
|
|
|
|
|
Aug 18 2008, 23:32
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(defunct @ Aug 19 2008, 03:19)  нет  Странно, в более ранней есть. Код //* Generated : AT91 SW Application Group 05/20/2005 (16:22:29) Цитата(defunct @ Aug 19 2008, 03:19)  Да, алгоритмом пользоваться можно. Смысл меняется кардинально. Документация создается для описания устройства и алгоритмов работы с ним, а в ReceiveFrame мы имеем описание алгоритма 10-ю строчками. Чем в таком случае lib_ не удовлетворяет понятию документация? В ReceiveFrame мы не имеем никакого описания, даже brief скопипасчен и не исправлен: Код //*---------------------------------------------------------------------------- //* \fn AT91F_PDC_ReceiveFrame //* \brief Close PDC: disable TX and RX reset transfer descriptors //*---------------------------------------------------------------------------- Цитата(defunct @ Aug 19 2008, 03:19)  Простой, но тем не менее многие делаю типичную ошибку - загружают только 1 указатель. Это не ошибка. Если я, например, хочу передать 1 пакет через UART, то второй указатель мне и не нужен. А в блаженные времена AT91M40800 второго и не было.
|
|
|
|
|
Aug 18 2008, 23:57
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(aaarrr @ Aug 19 2008, 02:32)  Странно, в более ранней есть. //* Generated : AT91 SW Application Group 05/20/2005 (16:22:29) Перепроверю завтра. Цитата В ReceiveFrame мы не имеем никакого описания, даже brief скопипасчен и не исправлен: Там самодокументируемый код описание прямо в нем (см. имена функций и переменных): Код if (AT91F_PDC_IsRxEmpty(pPDC)) { //* Buffer and next buffer can be initialized AT91F_PDC_SetRx(pPDC, pBuffer, szBuffer); AT91F_PDC_SetNextRx(pPDC, pNextBuffer, szNextBuffer); return 2; } else if (AT91F_PDC_IsNextRxEmpty(pPDC)) { //* Only one buffer can be initialized AT91F_PDC_SetNextRx(pPDC, pBuffer, szBuffer); return 1; } else { //* All buffer are in use... return 0; } Цитата Это не ошибка. Если я, например, хочу передать 1 пакет через UART, то второй указатель мне и не нужен.
А в блаженные времена AT91M40800 второго и не было. Дык, мы ж о ReceiveFrame говорим  Приход данных от нас не зависит. Времена поменялись, народ забывает использовать NextBuf даже при непрерывном чтении.
|
|
|
|
|
Aug 19 2008, 06:40
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 22-03-07
Из: Novosibirsk
Пользователь №: 26 415

|
Цитата(sergeeff @ Aug 19 2008, 12:52)  Полезно ли embedded разработчику наличие lib_xxx или вы считаете, чтобы лучше ее и не было? Сами Atmel'цы от нее, похоже, отказались. В последних AT91 Software Package и at91xxx_getting_started нет lib_xxx, но есть at91lib, на которую от наших Гуру, насколько можно представить, будет/есть не меньше нареканий  А что поделаешь?! Индийским студентам тоже надо кушать
|
|
|
|
|
Aug 19 2008, 08:36
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(asket @ Aug 19 2008, 11:53)  Работаю в Crossworks, хотелось бы поработать с lib_1t91sam7xxx.h И работали бы спокойно дальше. Мне интересно, что для Вас изменится с использованием этой "библиотеки"? Какие плюсы Вы видите? Цитата(asket @ Aug 19 2008, 11:53)  при объявлении сия заголовочного файла в нескольких исходниках на си компилер ругается, ссылаясь на Multiple definition of, как этим бороться? Пробывал объявить extern, та же фигня..( Заранее благодарен! Хидер защищен, проблем с multiple definition быть не должно. Куда Вы пытались прикрутить extern???
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|