Цитата(Atridies @ Jul 31 2015, 22:44)

Днем у меня доступа к сорцам не было

.
Ваш код - только читает из памяти. Это у меня тоже получается. У меня писАть не получается.
вот так пишу
Код
data = *(int*)(mapped_base1+0x0c);
data = data & 0xffffdbff;
*(int*)(mapped_base1+0x0c) = data;
printf("MFSEL =%08X\n",data);
это отладочный код, я его таскаю по всем платформам, всегда работает..
Цитата(Atridies @ Jul 31 2015, 10:44)

А как писать и компилировать драйверы ? Как писАть сами драйверы - я читал несколько статей, думаю разберусь.
А вот как компилить (Cross Compilatioin)? Надо использовать tools для сборки ядра ?
я с нуля драйверы не писал, но знаю пару вариантов:
- в дереве исходников своего ядра находится близкоподходящий драйвер под свои нужды, клонируется под другим именем и прописывается в конфигурацию, потом меняется функционал под свое железо или алгоритм
- многие компании-производители, в частности сетевых железяк, практикуют выкладывать пакет с исходниками драйверов под свои адаптеры/сетевые чипы - архив разворачивается, внутри правятся пути до исходников текущего ядра, далее сборка кросскомпилятором и получается модуль драйвера *.ko, который можно подгрузить в ядро
для написания с нуля, вместо клонирования, создаете свой сишный файл в подходящем разделе дерева драйверов, прописываете в конфигурацию, потом долго и нудно изобретаете свои код, для обмена данными между железом и юзерспейсом, *.ko - профит..
в общем случае сетапиться линукс система (реальная или в виртуалке), на нее разворачивается дерево исходников ядра и архив с кросскомпилятором (aka тулчейн). в частности, для ам3359 можно раздобыть все в одном флаконе на ti.com или профильных форумах/комьюнити..
если накопитель на таргете (ам3359) большой и шустрый, то ядро можно собрать прямо в системе, не заморачиваясь х86 хостом и КК..
Цитата
А вот как компилить (Cross Compilatioin)?
не вижу смысла пересказывать 100 раз описанное, почитайте на том же ti.com местную twiki для am3359