The RX family is a new MCU family from Renesas. It's a 32-bit RISC-like embedded CPU with many internal peripherals and an optional full addr/data bus.
Click on any thumbnail for a larger view.
RXRDK Users: To get USB Bootloader working right, replace R42 (10k) with a 100k. Also, get another smt pushbutton switch (like the others on the RDK), glue/tape it to the pcb next to SW5, and wire it up to SW5.2 (leave SW5 in run mode - off/off/on/on). Then you can just hold this button down while resetting the board, to enter USB bootloader mode, without power cycling.
Finished up an Ogg/Vorbis audio add-on board for the breakout board. Adds RAM, Audio in/out, and a Redpine connector (wifi) to the standard breakout. Vorbis needs more RAM than the RX chip has.
Added MP3 support to the OS-Board. Porting libmad was relatively trivial; mostly just adding support for the rx-elf compiler (GNURX) and figuring out the API. I put a copy of the sources here - it's pre-configured, so just "make" should work, and you could add the sources as-is to a HEW project since all the headers are pre-generated. There's a demo file mp3-test.c that shows you how to play a flash-based stream or a disk-based stream, and how to send the samples to the DAC (easily adapted to PWM or other output) at the right pace, with double buffering.
Update on my BLDC work - I moved everything over to an RX/62T 64-pin chip. Cheaper than the 62N, and I was actually able to get some :-)
After building up the 62N boards, Digikey finally has the 62T in stock, and no 62Ns at the moment. Built up a 62T 80-pin breakout and a gRX to E1 adapter.
The new breakout boards are here! Ten shrink-wrapped bundles of 10. Parts should be here today too, or maybe tomorrow. Will be a long weekend :-)
I got the E20 to E1 adapter working, and updated the design files in the 9th's entry. The 10K resistor goes to pin *4* of the 38-pin connector, not pin *2*.
For another project I'm working on, I had to figure out how to reprogram the FLASH from within the RX, using GCC. I'm sharing the test program in case anyone wants an example of how to define a function that runs in RAM instead of ROM with gcc. Note: this assumes your runtime copies all your initialized data to RAM (it should) and that your data section is called ".data". The code is specific to my os-board and it's runtime, but should be adaptable.
My attempt at an E20 to E1 adapter (R0E000200CKA00) to use an E20 emulator with a target that has only an E1 connector. At the moment, it's not working, but I have a real one on the way (finally) to compare against.
Updates: Since the abve, I've tried two changes to make it "work". I disconnected the E20 pin 12 as the manual doesn't show it as connected (the RSK board does). I've also installed a 10K resistor between MD0 and gnd, as the real adapter has one. Neither have resulted in success, but I haven't ruled out software problems.
Yesterday I built up the electronics on the breakout, and today I added all the headers. It all works!
Finishing up another project, this one will be part of a motor control experiment. It's an RX breakout board that supports both 144 and 100 pin devices, and both E1 and gRX programming. I have a separate motor power board which has an MCU interface, and I'll be testing it with various MCU boards I have (r8c, m16c, rx). This board is for the RX tests, but I added a few things to make it more generically useful.
HA! It took me a while, but I got my goal of 1027x768 working.
800x600 worked just fine, but 1024x768 wouldn't lock with the monitor.
Turned out I needed to add another pipeline stage on the TMDS output
channel to get the timing to work (specifically, I latched the TMDS
encoder outputs so they had more time to work).
First time I got a video image off the RX board! It's only 640x480 and it's not reading data from the RX chip yet, but it's giving a valid DVI signal :-)
I created a separate page for my RX/62N-based operating system development board.
This is my first RX board. Since the chips are hard to come by, I designed a carrier for the chip that plugs into whatever board I'm using. The carrier has all the bypass caps, although the eval board has them too, and the sockets on the eval board are cheaper and easier to get than the RX chip.
I use USB adapters to program all my Renesas parts, the RX is no exception. These boards plug into the E8/E1 connector on the RX board and give it a USB interface compatible with my programming software.
This first image demonstrates why I always solder in the male headers
when I get an eval board. My logic analyzer plugs directly into
those, so it's very handy for watching multiple signals.
|delorie software privacy
|Copyright © 2008 by DJ Delorie
|Updated Mar 2008