Перейти к содержанию
    

Microblaze Linux FSL есть сложны вопрос

На microblaze поставил linux

К FSL прикрутил свой модуль

Можно ли и как испольсовать модуль на си под линухом.

 

не под линухом модуль использовал так:

 

// Blocking Data Read and Write to Local Link no. id

 

microblaze_bread_datafsl(val, id)

microblaze_bwrite_datafsl(val, id)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Указанные microblaze_bxxx вроде же макросы. Посмотрите их определение в хэдерах EDK-шной инсталляции (mb_interface.h) и перенесите в свою программу под линуксом. Сработать должно: и там, и там GNU C.

Изменено пользователем LMT

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня mb_interfacовские макросы под Linuxom отказались компилироваться. И насколько я знаю более рекомендуется nonblocking чтение и запись.

А вот такие макорсы генерит System Generator:

#define MB_NBWRITE_CNTL_WITH_STATUS(val,status) \
  asm volatile ("ncput %1, rfsl<WRITESLOTID>\nmfs %0,rmsr" : "=d" (status) : "d" (val))
#define MB_NBWRITE_DATA_WITH_STATUS(val,status) \
  asm volatile ("nput %1, rfsl<WRITESLOTID>\nmfs %0,rmsr" : "=d" (status) : "d" (val))
#define MB_NBREAD_DATA_WITH_STATUS(val,status) \
  asm volatile ("nget %0, rfsl<READSLOTID>\nmfs %1,rmsr" : "=d" (val), "=d" (status))

 

status возвращает удачно или неудачно выполнилась команда.

И все это 100% работает под Linuxom по крайней мере в версии 2.4.

 

Но вот товарищ John Williams так не рекомендует делать, если доступ к FSL идет из разных одновременно выполняющихся приложений. Поэтому он забэбехал библиотеку с очередями и еще с чем-то.

Вроде бы хорошо в том, что она создает устройстваб в которые можно писать как в файл и читать теми же командами. Но мне надо было CNTL писать. А там такого не было.

В итоге она не заработала и я на нее плюнул.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...