imho.ws |
![]() |
![]() |
![]() |
# 3 |
Member
Регистрация: 15.07.2004
Адрес: Ukraine, Lvov
Сообщения: 258
![]() |
это я читал меня интересует как это скомпилить точнее я знаю формат makefile но он сразу генерить *.ko модуль а мне надо в makefile:
1. заинклудить path к моим хедерам 2. создать не ко-шку а обєктний файл которій потом я подлинкую (как еще непредставляю) к другому проекту которій и дасть мне кошку 3. вото точнее чтон адо 1) есть драйвер под Линукс для CAN Interface (CANOpen) називаеться CanFestivale мне нужно его запустить под фришку 2) их драйвер имеет папку sja1000 (непосредственая работа с контролером) после екго компиляции создаеться обектный файл 3) каталогом выше есть сам драйвер он мейкаеться с п.2 а потом этот модуль грузиться в память - драйвер готов но смейкать отдельно неполучаеться оно хочетьв се сразу чтобы создать кошку ![]() и вобще как к примеру написать простую програму не модуль ядра для работы с pci (функ pci_find_device и.т.д)
__________________
--==)) Show Must Go On ((==-- |
![]() |
![]() |
# 4 |
Guest
Сообщения: n/a
|
Вопрос у тебя специфический. Думаю, более компетентную информацию ты получишь, если отправишь свой вопрос в рассылку FreeBSD : http://lists.freebsd.org/mailman/listinfo
Успехов! |
![]() |
# 5 |
Member
Регистрация: 15.07.2004
Адрес: Ukraine, Lvov
Сообщения: 258
![]() |
Я начал писать свой драйвер при загрузке выдает:
Device driver "mypci" has wrong version and is disabled. Recompile KLD module. Выдает ошибку в этом месте mypci_attach(device_t dev) { uprintf("MyPCI Attach for : deviceID : 0x%x\n",pci_get_vendor(dev)); sdev = make_dev(&mypci_cdevsw, // <- ТУТ 0, UID_ROOT, GID_WHEEL, 0600, "mypci"); uprintf("Mypci device loaded.\n"); return ENXIO; } В чем проблема и как узнать MAJOR девайса ?
__________________
--==)) Show Must Go On ((==-- |
![]() |
![]() |
# 6 |
Member
Регистрация: 15.07.2004
Адрес: Ukraine, Lvov
Сообщения: 258
![]() |
еррор убрал
![]() дописал static struct cdevsw can_cdevsw = { .d_open = can_open, .d_close = can_close, .d_read = can_read, .d_write = can_write, .d_name = "can", .d_version = D_VERSION, // вот это добавил }; но все равно дает device_attach: can0 attach returned 6 помоему это ошибка иначе и что это за 6 почему не 0 странно все это
__________________
--==)) Show Must Go On ((==-- |
![]() |
![]() |
# 7 |
Member
Регистрация: 15.07.2004
Адрес: Ukraine, Lvov
Сообщения: 258
![]() |
Может кто знает как вобще работать с PCI шиной что за регистры что за преривания каналы ДМА и оттображаемая память Мне б еще дотсать описание работы с sja1000 от Philips
__________________
--==)) Show Must Go On ((==-- |
![]() |