Writing device drivers temporarily in user space for better source level debug ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi friends,

Trying to get kgdboc working with kgdbwait on kernel command line seems
to have become a nightmare, no go... The kernel will not wait whatsoever
when booting, I've tried sysrq - g till the cows come home.
{also, sysrq = [break] in serial console, correct ?}

Firstly, to ensure, this is indeed the proper way to activate kgdb ? :
My normal kernel command line in u-boot : (bootargs)

mem=64M console=ttyS0,115200 boot=/dev/mtdblock1 rw rootfstype=jffs2

which I change in the u-boot environment to :

mem=64M console=ttyS0,115200 boot=/dev/mtdblock1 rw rootfstype=jffs2 \
kgdboc=ttyS0,115200 kgdbwait


So, I wonder if anyone has some advice about method of writing device
drivers in *userpsace* first, so I can source level debug them easily.
And then later, convert it to a module ?
Does this sound too naive or orthodox ?
(I realize that printk et al would have to temporarily be printf etc)

I've also been looking at the kernel source wrt selecting kernel options
as Y or m. I must say I can't seem to get a handle on *where* the
difference is flagged to the module source itself.
Not wrt to the actual compile, but _how_ the code is compiled as a
module or not ?
Or is it simply a matter of how the code goes in. IOW it's still kernel
code, but simply not loaded as a module...
(reason : I don't see conditionals around the module_init(),
module_exit(), and various MODULE_xxxx defs ...)

Perhaps still naive thinking, but I wonder if that's a hint in the right
direction to simplify easier driver writing (vis-a-vis full source debug
until I get that wretched remote KGDB working).

Again, note that I'm intending to develop on a remote (ARM9) target, not
on the host itself.

Any advice/hints will be very welcome.

-- 
Best regards,
Kris



--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux