Difference between revisions of "Linux Debug"
(→Examples:) |
(→imxregs) |
||
Line 17: | Line 17: | ||
directly from Linux console. | directly from Linux console. | ||
− | First, you have enable this tool in Buildroot: | + | First, you have enable this tool in Buildroot (package selection for target): |
$ make menuconfig | $ make menuconfig | ||
Revision as of 18:58, 2 December 2006
- Tips to do debug under linux **
Introduction
On this page, you will find usefull informations for debugging Armadeus under Linux
Testing Linux kernel
You can test a linux kernel you've generated without to have to reflash your board and destroy your currently working image. Indeed Linux kernel images can be loaded and started from RAM:
BIOS> tftpboot 0x08800000 linux-kernel-2.6.16-arm.bin BIOS> bootm 0x08800000
imxregs
This tool allows you to access iMX registers from linux userspace/console. This way you debug your driver or access iMX hardware functionnalities directly from Linux console.
First, you have enable this tool in Buildroot (package selection for target):
$ make menuconfig
Once done, compile it:
$ make
The generated file is located in buildroot/build_arm_nofpu/imxregs-1.0/. Now you can copy it on your target.
To use it, you must clear PAR 1&2 registers (register access rights) before launching Linux kernel, so in U-Boot type:
BIOS> mw.l 0x00200008 0 BIOS> mw.l 0x00210008 0
Then in linux, launch it like that:
# imxregs REGISTER_NAME (give it the register name as printed in iMX Ref Manual or just the begining of the name)
or
# imxregs (to dump all supported registers)
Examples:
Show OCR1 registers of each GPIO Port:
# imxregs OCR1
Write 123 to OCR1_D register:
# imxregs OCR1_D 123