toggle quoted messageShow quoted text
I've got a Teensy 3.2, it looks very promising.
The 3.6 has floating point, which would make porting SDR libraries much easier.
The RPi's run linux with X-Windows, many popular SDR programs have already been ported.
Though RPi Zero at $5 might not have the horsepower to run X-Windows and all fast enough
without changes to the SDR program, so this sort of thing might better be done on one of the
bigger RPi's. All the RPi's suck more power than the Teensy's, need to bring your own ADC's.
Yup, the ATMega328P has a Harvard architecture, as Jack well knows.
Program memory (flash) and data memory (RAM) are in separate address spaces,
programs we write cannot easily read data out of flash.
For this reason, things like string literals are copied from flash to RAM at boot.
So something like lcd.print("Hello World") will use up RAM unless you resort to
the tricks shown here: http://playground.arduino.cc/Main/PROGMEM
Not needed when programming most machines in C.
On Mon, Apr 23, 2018 at 06:02 am, Jack Purdum wrote:
I realize the power the Pi has and I'm familiar with compiler design and grammars, as my old software company built and marketed its own C compiler for DOS back in '80s...without yacc! Al and I have been through a pretty rigorous µC decision process for our Jackal project, looking at Pi, Mega2560, Due, Mega Zero, and the new Protoneer board to replace the Raduino/Nano board. We settled on the Teensy 3.6. One of our goals is to encourage hacking by those who are already familiar with the µBITX, and that suggested sicking with a processor that could run in the Arduino IDE. The Teensy 3.6 has
- 180 MHz ARM Cortex-M4 with Floating Point Unit
- 1M Flash, 256K RAM, 4K EEPROM
- Microcontroller Chip MK66FX1M0VMD18 (PDF link)
- USB High Speed (480 Mbit/sec) Port
- 2 CAN Bus Ports
- 32 General Purpose DMA Channels
- 22 PWM Outputs
- 4 I2C Ports
- 11 Touch Sensing Inputs
and costs a little less than the Pi. The FPU is important in many SDR's that use FFT algorithms, and the Teensy has a very
good FFT library. It also has a terrific audio library that we are using in our filter elements. However, to me, the critical elements were that the 256K of SRAM removes the real bottleneck of the Arduino family and there are a host of relevant libraries for the processor. Atmel needs to get its act together and boost its processor resource base if it wants to stay competitive. (I taught an assembler course on a Z80 back in the '80s and, you're right, the 328 reminds me of it although the memory architecture's a little different.)
Anyway, we experimented with Pi and other processors for over a month before we committed Jackal to the Teensy. We made the right choice for us. Al and I will be showing Jackal at the FDIM conference...I think it's pretty cool and brings a lot to the table. That's not to say that someone shouldn't give Pi a try as a Raduino replacement. It's just not for us.