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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> FatFS + LPC2148 + KEIL
sonycman
сообщение Dec 17 2008, 13:51
Сообщение #31


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(Hermes @ Dec 17 2008, 17:25) *
Т.е. просто переопределить адреса регистров?
простите за возможно глупые вопросы...

Переписать функции по работе с периферией. Возможно, просто переопределить регистры, а может и полностью переписать - зависит от отличий в железе...
Go to the top of the page
 
+Quote Post
Hermes
сообщение Dec 17 2008, 13:57
Сообщение #32


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 17-11-08
Пользователь №: 41 692



сегодня вечером попробую переопределить регистры... будем надеяться прокатит... если что буду еще спрашивать.... я пока что новичок....
Спасибо за ваши ответы!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 17 2008, 14:14
Сообщение #33


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Hermes @ Dec 17 2008, 15:25) *
Т.е. просто переопределить адреса регистров?
Адреса прописаны в заголовочном файле. Если модуль периферии один и тот же, то адреса переопределятся автоматически. А вот если модули разные, то надо будет переписать все функции, использующие эти модули. Поскольку в FatFS все функции работы с периферией отделены от собственно файловой системы в отдельные файлы, найти их несложно после чтения документации.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Jul 27 2009, 12:10
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Всем привет! Нашел тут проект с ФатФс для Keil + GNU компилятор (проект под LPC2148). Попробывал его переделать под родной кейловский компилятор, инлайны заменил на __inline, вроде все скомпилилось, в дебаггере смотрю (окно VIC) - прерывания от Таймера0 и УАРТ регистрируются, но в уарт ничего не пишет. Стартап файл создал новый с помощью граф. редактора (все по Тревору) - вроде все норм, но в терминале прога ничего не пишет...
Прикрепленные файлы
Прикрепленный файл  lpc213x_chanfat_keil3.rar ( 966.47 килобайт ) Кол-во скачиваний: 52
 


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 27 2009, 12:59
Сообщение #35


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Ivan Kuznetzov @ Jul 27 2009, 15:10) *
в дебаггере смотрю (окно VIC)
Закройте это окно. Чтение регистров VIC дебаггером с точки зрения ядра - то же самое, что и чтение процессором. А чтение некоторых регистров VIC приводит к изменению их содержимого (например, VICVectAddr). Подробнее - в описании VIC.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Jul 27 2009, 13:55
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Походу дело в функции IrqEnable(); коорая в случае GCC компилятора объявлена в asmfunc.s файле как:
Код
.equ SWI_IRQ_EN,    1

IrqEnable:
    SWI    SWI_IRQ_EN
    BX    LR


Вставляю это в свой проект - не пашет ... crying.gif


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 27 2009, 14:24
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Ivan Kuznetzov @ Jul 27 2009, 17:55) *
Вставляю это в свой проект - не пашет ... crying.gif

Теперь задайте себе вопрос, есть ли в проекте обработка SWI, и если есть, обрабатывается ли должным образом такой запрос на включение прерываний.

P.S. Если процессор находится в привилегированном режиме, можно просто воспользоваться intrinsic-функцией __enable_irq().
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Jul 27 2009, 15:24
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Все равно не робит... видимо есть еще какие-то различия в asmfunc.s и startup.s у проекта с кейловским компилятором... Прилагаю рабочий проект для связки Keil + GNU компилятор (Sourcery G++) Мож кто посмотрит разницу, пожалуйста, а? crying.gif
Прикрепленные файлы
Прикрепленный файл  lpc213x_chanfat_ws.rar ( 960.82 килобайт ) Кол-во скачиваний: 52
 


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 27 2009, 15:39
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Ivan Kuznetzov @ Jul 27 2009, 19:24) *
Все равно не робит...

Дык а сделали то что? Или нужно угадать по рабочему проекту для GCC, почему он не работает у Вас под RV?
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Jul 27 2009, 16:10
Сообщение #40


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Цитата(aaarrr @ Jul 27 2009, 20:39) *
Дык а сделали то что? Или нужно угадать по рабочему проекту для GCC, почему он не работает у Вас под RV?

Прпробывал вместо IrqEnable() вписать __enable_irq(). Прерывания от Uart0 и Timer0 в VIC регистрируются - а в терминале по-прежнему ничего нету...


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Aug 4 2009, 17:54
Сообщение #41


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

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Переделываю для LPC2478 на Кроссстудии, похоже все ассемблерные программы работают криво. Надо их полностью переписывать.


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post

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

 


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


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