SM 0 24 января, 2010 Опубликовано 24 января, 2010 · Жалоба А простую защелку Как правило плату сначала разводят и изготавливают, а потом начинают думать, как теперь что сделать :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость segnetik 24 января, 2010 Опубликовано 24 января, 2010 (изменено) · Жалоба Поначалу разбирался с tms320vc5502, там половину линий данных можно под пользовательские нужды задействовать, потому никак не мог предположить что такая засада может быть :) Хранители действительно как-то странно работают здесь... В итоге решил оставить в покое эти Д0-Д15 и использовать преобразователь I2C -> параллельные 8/16 бит. Для поставленной задачи производительности I2C за глаза. Спасибо всем за ответы!!! Изменено 24 января, 2010 пользователем segnetik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 24 января, 2010 Опубликовано 24 января, 2010 · Жалоба Поначалу разбирался с tms320vc5502, так 5501/2 сделали значительно позже, чем 5509 (5507 это он же, но кастрированный). В нем, 5501/2, видимо и сделали GPIO на данных по пожеланию недовольных от 5509 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kamil_yaminov 1 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба Спрошу и я. Никак не могу сообразить как заинлайнить функцию. Процессор F2809. В хидере пишу вот такое: inline void CanWrite(Uint16 CHAN_NUMBER, TCAN_DATA *DATA); В сишном файле вот такое: inline void CanWrite(Uint16 CHAN_NUMBER, TCAN_DATA *DATA) { //тут код, который запихивает данные в дата-регистры меэйлбокса } Компилятор, соответственно ругается матом, говорит, что function "CanWrite" was declared but never referenced. Что почитать? Керниган и Ритчи по этому поводу молчат. Понимаю, что K&R C не самой последней свежести, хочется поднять свой уровень с быдлокодерства чутка повыше ). PS. Товарищам модерам: может данную тему закрепить как важную сверху, чтобы тут те кто присматривается/начинает спрашивали/читали, дабы каждый раз не плодить новую тему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба Так в чем проблема? Если функция "never referenced", так стало быть и некуда ее инлайнить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kamil_yaminov 1 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба Да вроде используется она, в другом месте: есть сишный файлик с основным циклом, там делаю: #include "CAN.h" ....... CanWrite(AnswerTx, &TxData); ....... CAN.h - это там, где объявлена функция CanWrite Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба Да вроде используется она, в другом месте В другом месте компилятор ее, естественно, не видит: тела-то нет, оно закопано в другом C-файле, о котором компилятор не имеет ни малейшего понятия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kamil_yaminov 1 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба Так, когда я убираю из описания функции ключевое слово inline, то все работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба Конечно - тогда это забота линкера, который в курсе всего. Чтобы использовать инлайн функцию, нужно ее разместить так, чтобы компилятор ее видел, т.е. или в самом модуле, или в подключаемом хидере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andron_ 0 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба тело inline-функций должно размещаться в месте объявления. вот это все должно быть написано в хедэре: inline void CanWrite(Uint16 CHAN_NUMBER, TCAN_DATA *DATA) { //тут код, который запихивает данные в дата-регистры меэйлбокса } дядька Страуструп об этом писал английским по белому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kamil_yaminov 1 28 января, 2010 Опубликовано 28 января, 2010 · Жалоба Спасибо!! Теперь ясно. Надо попробоватьУже запробовал - работает. Признаю, про линкер ступил, мог бы и додуматься сам ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
C-r-o-w 0 17 октября, 2010 Опубликовано 17 октября, 2010 (изменено) · Жалоба Ребят, очень надеюсь, что тема не умерла. Прошу помощи по TMS320VC5506. Где можно посмотреть любой готовый проект на данном (или хотя бы из серии C55xx) процессоре? Интересует банальный запуск сего камня с загрузкой через USB, т.е. что и как нужно в нем запитать (в частности, питание 1.2 вольта относится ТОЛЬКО к ядру и модулю USBPLL? т.е. управление всеми логическими уровнями (в т.ч. GPIO для выбора boot-loader'а) производится с помощью +3.3 В? какие еще выводы (кроме RESET и вышеупомянутых EMU0,1) нужно повесить на "1" (или "0"))? Изменено 17 октября, 2010 пользователем C-r-o-w Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ramil 0 17 октября, 2010 Опубликовано 17 октября, 2010 · Жалоба Частичный перевод даташита на tms320f2808. На "ляпы" перевода не ругайтесь ), не профи в этом, там где стоят символы ???? не уверен в правильности, вставлял для того чтобы вернутся к этим фрагментам позже - искать проще. Переводил для себя, - английский немного подучить, да и на русском проще воспринимается. Не закончил потому что больше нет необходимости в этом. Может и понадобится кому. :laughing: TMS320F2808.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Racurs 0 19 октября, 2010 Опубликовано 19 октября, 2010 · Жалоба Возникла проблема при программировании CAN в TMS320F2812. Решил руководствуясь даташитом настроить CAN и отправить данные -- отправка в шину не идёт. Скачал пример sprc097 ecan_back2back, изменил в нём бит STM=0 -- тот же результат. Может кто-нибудь сталкивался с программированием CAN и есть рабочие проекты, как увидеть хоть что-нибудь на выходе? И ещё вопрос: необходимо ли подключать на шину хотябы одно устройство CAN чтобы пошла передача от модуля CAN в TMS? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
argentum 0 20 января, 2011 Опубликовано 20 января, 2011 · Жалоба Уррря. Нашел. View->Memory, откроется окно, а тум уж правой мышкой выбрать. Казалось бы просто, но с наскока не видел пока с каждой кнопочкой не разобрался. Собственно, задавал вопрос только для того, чтобы вдруг не искать долго и нудно то, чего нет и не предусмотрено. Когда сказали есть, стал искать. Спасибо за помощь. Уважаемый Fedor_spb-2, подскажите, как вам удалось скачать программу из памяти? У меня в указаном окне все элементы неактивны! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться