<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 2013-October-20, at 4:43 PM, Alan Cudmore <<a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">We can certainly read and write GPIO pins without POSIX support. I think Pierre was trying to create a standard driver for GPIO that might be expanded into a generic GPIO interface for all BSPs.<br></blockquote><div><br></div>Gosh, how topical. I am setting up to use the STM32F407 discovery board and seem to be inventing the same stuff again. A typical BSP will get the processor running, handle ticks, and serial communication. Surely the next thing that embedded systems do is twiddle bits on the GPIO ports.</div><div><br></div><div>When I worked with the MC68332 I had to develop a GPIO structure, then reinvent it again for the MCF5282, and now again for the ST ARM processors. I took a look at the GPIO code for the STM32F4 in the BSP and found it opaque and without documentation, but the price was right. </div><div><br></div><div>I am currently working on a register name/address definition file along the lines of that from libcpu … mcf5282.h, I found that system to be quite useful, but always wondered if it was the best way to do things.</div><div><br></div><div>I can see that there would be, at least, two methods of doing GPIO; memory mapped and IO port based, so perhaps a driver is called for.<br><blockquote type="cite"><br>The code in Pierre's driver has the basic macros and defines to do the GPIO reads and writes. It could be used without the driver.<br><br>But this is a good time to bring this up:<br>What should the Raspberry Pi GPIO support look like in the BSP?<br>1. Simple direct reads and writes through macros or functions?<br>2. A driver such as Pierre's<br>3. Or a combination of both: Supply the driver and defines/macros and allow the user to decide what to use?<br><br>Alan<br></blockquote></div><br>
<br><div>
<span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; border-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>---------------------</div><div>Andrei Chichak</div><div><br></div><div>Systems Developer</div><div>CBF Systems Inc.</div><div>4-038 NINT INNOVATION CENTRE</div><div>11421 SASKATCHEWAN DRIVE</div><div>EDMONTON, ALBERTA</div><div>T6G 2M9</div><div>CANADA</div><div><br></div><div>Phone: 780-628-2072</div><div>Skype: andrei.chichak</div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br></body></html>