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

 
 
> Компиляция ПО под embedded. Непонятно как поступить., Как компилироваться - если используются функции ядра
Atridies
сообщение Jul 31 2015, 06:20
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 445
Регистрация: 7-02-05
Из: Зеленоград
Пользователь №: 2 468



Под плату SBC8600 (AM3359, Angstrom Linux) делаю программу. Есть Toolchain, и есть tools: для сборки ядра, u-boot и пр. под эту плату.

Пока используются стандартные функции Си - то все нормально: ПО компилится Toolchain-ом, нормально запускается и работает.
Но сейчас понадобился прямой доступ к регистрам микроконтроллера. Хочу сделать это так:
Код
base = ioremap(ADDR, SIZE);
__raw_writel(base+0x08F0, DATA);
x = __raw_readl(base+0x08F0);


Но этот код не хочет компилироваться.

Эти функции - принадлежат ядру и находятся в файлах: /arch/arm/include/asm/io.h. В самой Toolchain - нету такого файла и нету таких функций. Оно наверное и понятно - Toolchain вряд ли поддерживает функции ядра.
Подключил к своему проекту h-файл из tools для сборки ядра - все равно не компилится: у меня ведь проект ядра не компилируется вместе с программой.

Что делать - не знаю. Как вообще компилироваться - если используются функции ядра ?


P.S. Пробовал сделать это через /dev/mem и mmap - все получается, но работает только на чтение. Записать не получается.

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Atridies
сообщение Aug 1 2015, 06:50
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 445
Регистрация: 7-02-05
Из: Зеленоград
Пользователь №: 2 468



Я пишу так:
Код
*((unsigned int*)(base + 0x8F0)) = 0x34;


Собственно в регистры, не защищенные privileged режимом - все пишется нормально. Но конкретно нужные мне:
Цитата
"For writing to the control module registers, the Cortex A8 MPU will need to be in privileged mode of
operation and writes will not work from user mode."


Поэтому и не пишется....


Цитата
не вижу смысла пересказывать 100 раз описанное, почитайте на том же ti.com местную twiki для am3359

Я вероятно неправильно задал вопрос. Каким компилятором - компилировать модули ядра? Тем, которым собирается ядро под target-платформу ?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 26th August 2025 - 09:32
Рейтинг@Mail.ru


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