Jump to content

    

Embedded Linux, узнать какая перефирия задействоана

Есть двухядерный процессор ARM+DSP

на стороне ARM стоит Linux. На стороне DSP планируется использование HardRTOS.

Необходимо узнать какая перифирия задействована, чтобы не вызвать конфликты, когда будет задействоано DSP-ядро, ведь оно делит перифирию с ARM-ядром.

Как и где можно посмотреть какие устройства использует Linux, на данный момент интересуют таймеры, какие таймеры использует Linux для исстемных тиков?

Share this post


Link to post
Share on other sites
Есть двухядерный процессор ARM+DSP

Как и где можно посмотреть какие устройства использует Linux, на данный момент интересуют таймеры, какие таймеры использует Linux для исстемных тиков?

раз у вас абстрактный проц, то открываете исходники ядра и ищете в районе arch/arm подкаталоги типа:

mach-*

plat-*

где "*" - семейство вашего АРМа

внутри смотрите файл для вашей платы с используемой периферией..

 

насчет системного таймера(ов) - сделайте поиск по файлам с маской "clocksource_init" или "timer_init", в разных ядрах и архитектурах расписано по разному..

Share this post


Link to post
Share on other sites

Все драйверы и устройства можно увидеть следующим образом:

ls /sys/bus/

 

покажет вам каталоги шин.

Внутри каждого каталога есть директория devices где есть информация о каждом устройстве на этой шине.

Все устройства, которуые были зарегистрированы будут отображены.

 

Например последовательный интерфейс в моей системе имеет два устройства:

$ ls /sys/bus/platform/devices/serial8250/tty/

ttyS2 ttyS3

 

Но это только те устройства, которые работают с использованием драйвера.

Скажите какую платформу и версию ядра вы используете и я найду где посмотреть таймеры.

 

дополнительная информация, которая может помочь

 

cat /proc/interrupts

CPU0

1: 7594398 MXC_TZIC mxsdhci

2: 13 MXC_TZIC mxsdhci

3: 0 MXC_TZIC mxsdhci

6: 448 MXC_TZIC mxc_sdma

9: 0 MXC_TZIC VPU_CODEC_IRQ

10: 0 MXC_TZIC mxc_ipu

11: 3 MXC_TZIC mxc_ipu

12: 0 MXC_TZIC ydx

14: 0 MXC_TZIC usb_wakeup, fsl ehci pre interrupt, ehci_hcd:usb2

18: 1 MXC_TZIC usb_wakeup, fsl-usb2-otg, fsl ehci pre interrupt, ehci_hcd:usb1, fsl-usb2-udc

24: 0 MXC_TZIC mxc_rtc

30: 0 MXC_TZIC soc-audio

31: 70 MXC_TZIC mxcintuart

39: 21122216 MXC_TZIC i.MX Timer Tick

62: 1484 MXC_TZIC imx-i2c

63: 25239 MXC_TZIC imx-i2c

64: 2 MXC_TZIC imx-i2c

66: 0 MXC_TZIC asrc

69: 0 MXC_TZIC mxc_iim

73: 0 MXC_TZIC dvfs

84: 9368947 MXC_TZIC g12

87: 7644160 MXC_TZIC fec

92: 0 MXC_TZIC tve

172: 0 - btn enter

174: 2 - btn volume-down

175: 0 - btn volume-up

203: 0 - mxsdhci

223: 1325 - fusion

279: 0 - PMIC_IRQ

Err: 0

 

cat /proc/timer_list

 

Edited by Tarbal

Share this post


Link to post
Share on other sites
Все драйверы и устройства можно увидеть следующим образом:

ls /sys/bus/

 

покажет вам каталоги шин.

Внутри каждого каталога есть директория devices где есть информация о каждом устройстве на этой шине.

Все устройства, которуые были зарегистрированы будут отображены.

 

Например последовательный интерфейс в моей системе имеет два устройства:

$ ls /sys/bus/platform/devices/serial8250/tty/

ttyS2 ttyS3

 

Но это только те устройства, которые работают с использованием драйвера.

Скажите какую платформу и версию ядра вы используете и я найду где посмотреть таймеры.

 

дополнительная информация, которая может помочь

 

cat /proc/interrupts

CPU0

1: 7594398 MXC_TZIC mxsdhci

2: 13 MXC_TZIC mxsdhci

3: 0 MXC_TZIC mxsdhci

6: 448 MXC_TZIC mxc_sdma

9: 0 MXC_TZIC VPU_CODEC_IRQ

10: 0 MXC_TZIC mxc_ipu

11: 3 MXC_TZIC mxc_ipu

12: 0 MXC_TZIC ydx

14: 0 MXC_TZIC usb_wakeup, fsl ehci pre interrupt, ehci_hcd:usb2

18: 1 MXC_TZIC usb_wakeup, fsl-usb2-otg, fsl ehci pre interrupt, ehci_hcd:usb1, fsl-usb2-udc

24: 0 MXC_TZIC mxc_rtc

30: 0 MXC_TZIC soc-audio

31: 70 MXC_TZIC mxcintuart

39: 21122216 MXC_TZIC i.MX Timer Tick

62: 1484 MXC_TZIC imx-i2c

63: 25239 MXC_TZIC imx-i2c

64: 2 MXC_TZIC imx-i2c

66: 0 MXC_TZIC asrc

69: 0 MXC_TZIC mxc_iim

73: 0 MXC_TZIC dvfs

84: 9368947 MXC_TZIC g12

87: 7644160 MXC_TZIC fec

92: 0 MXC_TZIC tve

172: 0 - btn enter

174: 2 - btn volume-down

175: 0 - btn volume-up

203: 0 - mxsdhci

223: 1325 - fusion

279: 0 - PMIC_IRQ

Err: 0

 

cat /proc/timer_list

Спасибо! Проц OMAP-L138. Ядро 2.6.37

Share this post


Link to post
Share on other sites

Извините за задержку с ответом. В качестве компенсации могу помочь наверстать упущенное время общением через скайп. Вы потом для тех кому интересно опишите результаты здесь.

 

При компиляции ядра надо установить какие файлы компилируются в дереве директории

arch/arm/

Для этого скомпилируйте ядро, а затем выполните команду:

find arch/arm/ -name "*.o"

 

Список выложите сюда.

Это надо выполнить на инструментальном компьютере где вы компилируете ядро.

 

На самой системе вызовите команду:

uname -a

 

Результат сюда

Edited by Tarbal

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this