@dwelch67
I assume you are using bare metal and not a Linux distro.
Are you using physical or bus addresses to populate the GPIO regs?
No. The ARM is a macrocell from ARM Holdings, inc, along with the serial port, timer and probably some other bits and pieces. SD is apparently Arasan. USB is from Designworks. Some, if not all, of these are 'tweaked' to fit Broadcom's requirements, but most of what you see on the ARM side is externally licensed IP.Dave_G_2 wrote:A more likely scenario is that it's designed by Broadcom themselves and manufacture is outsourcedjohnbeetem wrote: My guess:
No, macro cell as in ASIC design, specifically a "hard macro" that Broadcom licenses from the company that designed it. Much more complex than a CPLD macro cell.
to a company such as TSMC or UMC that do OEM for fabless companies such as Broadcom which
then create/compile the required firmware using MetaWare or similar.
Excellent.dwelch67 wrote:I have a bootloader working now. http://github.com/dwelch67/raspberrypi/ You may find it ugly but it works. I didnt count the dozens/hundreds of sd card insertions it took to get to this point...no more! Hacking through the error(s) in the chip doc were quite painful.
Dave_G_2 wrote:@dwelch67
Well done for getting it going, all those SD card insertions and removals are not fun.
Very similar to the old days using the 8051 where it was a case of take the chip out of the socket,
insert in ZIF socket of programmer, program, take out, put back into target board, test, oops, mistake,
repeat.........
I quite like the idea of a loader via the serial port and did a similar thing (based on the Xmodem protocol)
for a X86 project I was working on some time back.
Like you say, the documentation is woeful.
Have you checked out this page:
http://elinux.org/BCM2835_datasheet_errata
Done. At first I was thinking that if they want to use this tool they need a toolchain anyway, they wont get very far so if they cant build the bootloader they wont be able to build anything else. But I have also been planning on taking a thumb assembler I recently wrote for a thumb simulator (avoids the problems that come from trying to get or make your own cross assembler) and making some assembler example programs using that. In that case they wont necessarily have a full cross compiler...so I committed the binary version of the bootloader...Dave_G_2 wrote:@dwelch67
Just a thought, why not also put the compiled img on github so that beginners that don't quite yet
understand the whole process (or only use Windows) can also test and hopefully get interested.
A decent place to document them for all to see would be on the Wiki page mentioned beforehand, viz: http://elinux.org/BCM2835_datasheet_erratadwelch67 wrote:Please educate me/us on where I need to go or what I need to do to inform the right parties about errors in the datasheet.
http://github.com/dwelch67/raspberrypi/bootloader02Dave_G_2 wrote:@dwelch67
Well done for getting it going, all those SD card insertions and removals are not fun.
Very similar to the old days using the 8051 where it was a case of take the chip out of the socket,
insert in ZIF socket of programmer, program, take out, put back into target board, test, oops, mistake,
repeat.........
I quite like the idea of a loader via the serial port and did a similar thing (based on the Xmodem protocol)
for a X86 project I was working on some time back.
Like you say, the documentation is woeful.
Have you checked out this page:
http://elinux.org/BCM2835_datasheet_errata
If you're just using it as say a debug port or some other PC interface, then an FTDI chip is fine, but if you are interfacing to an actual RS232 device, then the MAX232 is critical.dwelch67 wrote: I dont understand all the fuss about making a MAX232 board,
If serial comms can be made to work by bit-banging, rather than using the on-chip UART, it should be possible to create a GPIO direct to RS232 interface using nothing but a current limiting resistor on serial in.annodomini2 wrote:If you're just using it as say a debug port or some other PC interface, then an FTDI chip is fine, but if you are interfacing to an actual RS232 device, then the MAX232 is critical.dwelch67 wrote: I dont understand all the fuss about making a MAX232 board,
A quick question on "dummy(ra);" -- what's the purpose of those; just time delays or are they doing something more ?dwelch67 wrote:I have a bootloader working now. http://github.com/dwelch67/raspberrypi/ You may find it ugly but it works.
Thanks for the info, i need a directly connected keyboard, because i am porting my OS to R-PI, but also want to go back to the R-PI roots and boot to a modern basic interpreter.dwelch67 wrote:Yes, I was active on the GP2X. Did the same thing there as here, not interested in writing linux apps, but instead getting down into the guts of the thing.
I have not interfaced to a PS/2 keyboard or mouse. Looks like you have to supply 5V to power the keyboard. My understanding the serial interface is not that complicated.
http://www.computer-engineering.org/ps2protocol/
I would power the keyboard with something else, not the raspi. Probably want to use 3.3v to/from 5v level shifters, assuming there is something to supply the 5V side use that to power the keyboard.
You might try doing something like bit banging a serial interface first. Look at my other projects I think I have some msp430 code bit banging serial. A number of the boards receiving infra red, not a bad first project. Using the uart and the keyboard on your host computer is a quick way to get input into the target board, if that is what you are after.
I completely understand that, how many people have actual serial ports vs usb? How many of those ports are just usb to serial? The ftdi solution should be a fit for far more people than a level shifter. For real serial ports back to sparkfun (local for USA, dont know about elsewhere).hippy wrote:If serial comms can be made to work by bit-banging, rather than using the on-chip UART, it should be possible to create a GPIO direct to RS232 interface using nothing but a current limiting resistor on serial in.annodomini2 wrote:If you're just using it as say a debug port or some other PC interface, then an FTDI chip is fine, but if you are interfacing to an actual RS232 device, then the MAX232 is critical.dwelch67 wrote: I dont understand all the fuss about making a MAX232 board,
That's worked with all micros and PC's I have used and though not RS232 or SoC spec compliant can be entirely usable.
A quick question on "dummy(ra);" -- what's the purpose of those; just time delays or are they doing something more ?dwelch67 wrote:I have a bootloader working now. http://github.com/dwelch67/raspberrypi/ You may find it ugly but it works.
RS232 operates at +/-15v so it won't work 'bit-banging' TTL lines.hippy wrote:If serial comms can be made to work by bit-banging, rather than using the on-chip UART, it should be possible to create a GPIO direct to RS232 interface using nothing but a current limiting resistor on serial in.annodomini2 wrote:If you're just using it as say a debug port or some other PC interface, then an FTDI chip is fine, but if you are interfacing to an actual RS232 device, then the MAX232 is critical.dwelch67 wrote: I dont understand all the fuss about making a MAX232 board,
That's worked with all micros and PC's I have used and though not RS232 or SoC spec compliant can be entirely usable.
A quick question on "dummy(ra);" -- what's the purpose of those; just time delays or are they doing something more ?dwelch67 wrote:I have a bootloader working now. http://github.com/dwelch67/raspberrypi/ You may find it ugly but it works.