From: Nik M. <add...@gm...> - 2006-03-09 20:18:37
|
Has anyone compiled the sample char driver on the new buildroot? I tried, and got about a million errors, which looked like some inability to find some stuff. I'm tracing back, and made all appropriate path/version changes in the makefile, but am having no luck. Could someone try to build the sample driver and let me know if it builds for you? Nik |
From: Nik M. <add...@gm...> - 2006-03-09 20:54:00
|
On 3/9/06, Nik Martin <add...@gm...> wrote: > Has anyone compiled the sample char driver on the new buildroot? I > tried, and got about a million errors, which looked like some > inability to find some stuff. I'm tracing back, and made all > appropriate path/version changes in the makefile, but am having no > luck. Could someone try to build the sample driver and let me know if > it builds for you? > Disregard, I found another path change that I overlooked inthe sample make file. It built fine. Nik > Nik > |
From: Dave H. <dhy...@gm...> - 2006-03-09 21:42:28
|
Hi Nik, > Disregard, I found another path change that I overlooked inthe sample > make file. It built fine. I've been meaning to make some changes to the driver anyways (to support udev), so I'll fix things up to work in the new environment. I suspect that the changes are BUILD_ARM needs a _nofpu added, and KERNELDIR needs to be updated to the 2.6.15 one. I think that's all that should be required. Were there any other changes that you needed? -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |
From: Nik M. <add...@gm...> - 2006-03-09 21:58:28
|
My problem was the KERNELDIR version !=3D 2.6.15 Nik Also, It's building the proper dir in /proc, but not in /dev. adding debug statements now to try to figure out why Also, since the main app is still just looping looking for events, I'm not sure what I'm gaining in regards to performance. I'm assured to not miss an event but the event will be caught at the speed of the main loop. I need to a fairly responsive 5 button keypad UI, so I need to figure out how to fire software interrupts in the main app based on interrups in the char driver, to eliminate a time critical main loop. Nik On 3/9/06, Dave Hylands <dhy...@gm...> wrote: > Hi Nik, > > > Disregard, I found another path change that I overlooked inthe sample > > make file. It built fine. > > I've been meaning to make some changes to the driver anyways (to > support udev), so I'll fix things up to work in the new environment. > > I suspect that the changes are BUILD_ARM needs a _nofpu added, and > KERNELDIR needs to be updated to the 2.6.15 one. I think that's all > that should be required. > > Were there any other changes that you needed? > > -- > Dave Hylands > Vancouver, BC, Canada > http://www.DaveHylands.com/ > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting langua= ge > that extends applications into web and mobile media. Attend the live webc= ast > and join the prime developer group breaking into this new coding territor= y! > http://sel.as-us.falkag.net/sel?cmdlnk&kid=110944&bid$1720&dat=121642 > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Dave H. <dhy...@gm...> - 2006-03-09 22:08:57
|
Hi Nik, On 3/9/06, Nik Martin <add...@gm...> wrote: > My problem was the KERNELDIR version !=3D 2.6.15 > Nik > > Also, It's building the proper dir in /proc, but not in /dev. adding > debug statements now to try to figure out why You need to manually create the entry in /dev (that's the udev support stuff I was talking about). If you want to make the changes yourself, then take a look at the differences between the latest and previous versions of robostix_drv.c: <http://websvn.gumstix.com/diff.php?repname=3DBuildroot&path=3D%2Fbranches%= 2Fprojects%2Frobostix%2Fgumstix%2Frobostix_drv.c&rev=3D0&sc=3D0> If memory serves me correctly, the name passed into class_device_create will be the name of the /dev entry created. > Also, since the main app is still just looping looking for events, I'm > not sure what I'm gaining in regards to performance. I'm assured to > not miss an event but the event will be caught at the speed of the > main loop. I need to a fairly responsive 5 button keypad UI, so I > need to figure out how to fire software interrupts in the main app > based on interrups in the char driver, to eliminate a time critical > main loop. The main app should just be issuing a non-blocking read call. The read will return when a button is pressed. If you need to do other stuff as well, then launch a thread which does the blocking and have it signal the main thread. It's also possible to implement support for the select call, but that isn't currently in the sample driver (although it's pretty easy to add). What all does you app do? -- Dave Hylands Vancouver, BC, Canada http://www.DaveHylands.com/ |
From: Nik M. <nm...@ra...> - 2006-03-09 22:26:06
|
On 3/9/06, Dave Hylands <dhy...@gm...> wrote: > Hi Nik, > > On 3/9/06, Nik Martin <add...@gm...> wrote: > > My problem was the KERNELDIR version !=3D 2.6.15 > > Nik > > > > Also, It's building the proper dir in /proc, but not in /dev. adding > > debug statements now to try to figure out why > > You need to manually create the entry in /dev (that's the udev support > stuff I was talking about). If you want to make the changes yourself, > then take a look at the differences between the latest and previous > versions of robostix_drv.c: > I just re-read and noticed the /udev reference. I'm new to kernel hacking. > <http://websvn.gumstix.com/diff.php?repname=3DBuildroot&path=3D%2Fbranche= s%2Fprojects%2Frobostix%2Fgumstix%2Frobostix_drv.c&rev=3D0&sc=3D0> > > If memory serves me correctly, the name passed into > class_device_create will be the name of the /dev entry created. > > > Also, since the main app is still just looping looking for events, I'm > > not sure what I'm gaining in regards to performance. I'm assured to > > not miss an event but the event will be caught at the speed of the > > main loop. I need to a fairly responsive 5 button keypad UI, so I > > need to figure out how to fire software interrupts in the main app > > based on interrups in the char driver, to eliminate a time critical > > main loop. > > The main app should just be issuing a non-blocking read call. The read > will return when a button is pressed. If you need to do other stuff as > well, then launch a thread which does the blocking and have it signal > the main thread. > > It's also possible to implement support for the select call, but that > isn't currently in the sample driver (although it's pretty easy to > add). > > What all does you app do? I have to read a flow meter which outputs a square wave whose frequency is relative to the amount of flow. It's pretty slow, like 28-30 Hz, but the accuracy is important. This just needs to happen in the background, and I reference the reading every few seconds to do some calculations. The other IO is a just a set of buttons that act as a keyboard to an ncurses UI we're writing for those 2.7" sony LCD's from Goldmine Electronics and Earth LCD. Another process ( or maybe just a thread in my main app) will be running a neural network, training on the data the main app is collecting, and outputting a set of predictive control statements that will be controlling varion loads in a home. Its a DOE funded project, but I'm hoping to get some commercial appeal out of the nifty board we're building to support the project with. It's ALMOST a gumstix powered PDA, but will be suitable for general purpose gumstix hacking. 5 buttons mapped to gpio, temp sensor, 6 mini relays driven by a latching relay driver, LCD, lots of other gpio and goodies in an index-card sized package. Nik > > -- > Dave Hylands > Vancouver, BC, Canada > http://www.DaveHylands.com/ > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting langua= ge > that extends applications into web and mobile media. Attend the live webc= ast > and join the prime developer group breaking into this new coding territor= y! > http://sel.as-us.falkag.net/sel?cmdlnk&kid=110944&bid$1720&dat=121642 > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: Nik M. <add...@gm...> - 2006-03-09 22:29:47
|
This may end up as a double post on the archives, due to sending from the wrong email account. On 3/9/06, Nik Martin <nm...@ra...> wrote: > On 3/9/06, Dave Hylands <dhy...@gm...> wrote: > > Hi Nik, > > > > On 3/9/06, Nik Martin <add...@gm...> wrote: > > > My problem was the KERNELDIR version !=3D 2.6.15 > > > Nik > > > > > > Also, It's building the proper dir in /proc, but not in /dev. adding > > > debug statements now to try to figure out why > > > > You need to manually create the entry in /dev (that's the udev support > > stuff I was talking about). If you want to make the changes yourself, > > then take a look at the differences between the latest and previous > > versions of robostix_drv.c: > > I just re-read and noticed the /udev reference. I'm new to kernel hacking= . > > > <http://websvn.gumstix.com/diff.php?repname=3DBuildroot&path=3D%2Fbranc= hes%2Fprojects%2Frobostix%2Fgumstix%2Frobostix_drv.c&rev=3D0&sc=3D0> > > > > If memory serves me correctly, the name passed into > > class_device_create will be the name of the /dev entry created. > > > > > Also, since the main app is still just looping looking for events, I'= m > > > not sure what I'm gaining in regards to performance. I'm assured to > > > not miss an event but the event will be caught at the speed of the > > > main loop. I need to a fairly responsive 5 button keypad UI, so I > > > need to figure out how to fire software interrupts in the main app > > > based on interrups in the char driver, to eliminate a time critical > > > main loop. > > > > The main app should just be issuing a non-blocking read call. The read > > will return when a button is pressed. If you need to do other stuff as > > well, then launch a thread which does the blocking and have it signal > > the main thread. > > > > It's also possible to implement support for the select call, but that > > isn't currently in the sample driver (although it's pretty easy to > > add). > > > > What all does you app do? > I have to read a flow meter which outputs a square wave whose frequency is relative to the rate of flow. It's pretty slow, like 28-30 Hz, but the accuracy is important. This just needs to happen in the background, and I reference the reading every few seconds to do some calculations. The other IO is a just a set of buttons that act as a keyboard to an ncurses UI we're writing for those 2.7" sony LCD's from Goldmine Electronics and Earth LCD. Another process ( or maybe just a thread in my main app) will be running a neural network, training on the data the main app is collecting, and outputting a set of predictive control statements that will be controlling varion loads in a home. Its a DOE funded project, but I'm hoping to get some commercial appeal out of the nifty board we're building to support the project with. > > Nik > > > > > -- > > Dave Hylands > > Vancouver, BC, Canada > > http://www.DaveHylands.com/ > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by xPML, a groundbreaking scripting lang= uage > > that extends applications into web and mobile media. Attend the live we= bcast > > and join the prime developer group breaking into this new coding territ= ory! > > http://sel.as-us.falkag.net/sel?cmdlnk&kid=110944&bid$1720&dat=121642 > > _______________________________________________ > > gumstix-users mailing list > > gum...@li... > > https://lists.sourceforge.net/lists/listinfo/gumstix-users > > > |