Извните - не совсем понял вопрос. Модули (что вы подразумеваете под модулями?), вроде, подменять не нужно.
Ядро подменять нужно, ибо вы его пересоберете и оно будет другим.
Вот на всякий случай вырезка из моего board-sam9m10g45ek.c:
// { /* DataFlash chip */
// .modalias = "mtd_dataflash",
// .chip_select = 0,
// .max_speed_hz = 15 * 1000 * 1000,
// .bus_num = 0,
// },
{ /* spidev 0 */
.modalias = "spidev",
.chip_select = 0,
.mode = SPI_MODE_0,
.max_speed_hz = 2 * 1000 * 1000,
.bus_num = 0,
},
{ /* spidev 1 */
.modalias = "spidev",
.chip_select = 0,
.mode = SPI_MODE_0,
.max_speed_hz = 2 * 1000 * 1000,
.bus_num = 1,
},
в результате я имею два файла в /dev - spidev0.0 и spidev1.0 и могу работать с ними, как с любыми другими файлами.
проверить можно так: echo -ne "\xAA" > /dev/spidev0.0
Спасибо за подсказки и за исходник.
Пересобрал ядро в gentoo используя:
make ARCH="arm" CROSS_COMPILER="armv5tej-softfloat-linux-gnueabi-"
загрузился в u-boot
U-Boot> run system_update
NAND erase: device 0 offset 0x80000, size 0x790000
Erasing at 0x800000 -- 100% complete.
OK
macb0: PHY present at 0
macb0: link up, 100Mbps full-duplex (lpa: 0x45e1)
Using macb0 device
TFTP from server 192.168.0.2; our IP address is 192.168.0.136
Filename 'zlinux'.
Load address: 0x70800000
Loading: #######
done
Bytes transferred = 2164728 (2107f8 hex)
make ARCH=arm CROSS_COMPILE=armv5tej-softfloat-linux-gnueabi-
mkimage -A arm -O linux -C none -T kernel -a 0x70008000 -e 0x70008000 -n linux-2.6 -d arch/arm/boot/zImage uImage
cp uImage /tftpboot/zlinux
Либо через специальное правило make ядра
make ARCH=arm CROSS_COMPILE=armv5tej-softfloat-linux-gnueabi- uImage
cp arch/arm/boot/uImage /tftpboot/zlinux
sasamy, titan83, lexx666 - большое спасибо за помошь!
ядро обновил благодоря инструкциям от sasamy. упрощённая 2-ая команда сделала чудо, ядро обновилось и CS на SPI (спасибо titan83) наконец-то стал работать. Одако я заметил теперь изначаяльное сосотяние СS=0, а при передачи данных CS=1, а должно быть наоборот. При передаче данных CS должен быть в 0-ле.
Как SPI работает у вас?
Еще раз огромное спасибо за то что помогаете. Надесь эта информация будет полезна и другим форумчанам.
max_s.
Без нравоучений, просто дружеский совет - если есть желание заниматься микроконтроллерами, то подтягивайте английский и ОЧЕНЬ активно пользуйтесь гуглом, ибо там уже есть 99% процентов на ваши (и мои) вопросы, а идеально - перед гуглом кидать мимолетный взгляд в исходники ядра - там тоже много полезного написано.
P.S. Я сам изучаю ARM7/9 всего полгода - в начале тоже парил тут парней всякой херней, но старался как можно быстрее въехать в фундаментальные основы, чтобы не отвлекать других по пустякам.
Удачи!