Tag Info

Hot answers tagged

15

I don't have the time for a full explanation, but I can give you cookbook-style the commands I use on my Linux box to program AVRs: Preparations On Ubuntu, make sure several required packages are installed: sudo apt-get install avr-libc arvdude binutils-avr gcc-avr srecord optionally throw in gdb-avr simulavr. I started to create a directory in which all ...


14

CodeSourcery has a free gcc-based toolchain for the Cortex M3. There are instructions on configuring the toolchain for the Luminary LM3s6965 for a Windows, Mac, and Linux host here: http://claymore.engineer.gvsu.edu/egr326/LM3S6965. It should also work with your LPC processor with minor tweaks. See also this question: ...


14

Regarding the ARM Cortex-M3: Linux requires an MMU (Memory Management Unit). The ARM Cortex-M3 does not have one. It is impossible to run the mainline Linux kernel on the ARM Cortex-M3. However, there is a variant of the Linux kernel for MMUless processors called uCLinux. Linux on M3 Guide ST's Application Note on uCLinux However, as others have noted, ...


14

A textbook 32-bit RISC processor core capable of running the no-mmu version of linux doesn't actually need to be that large - the real resource you need is far more RAM (10s of megabytes) than available in any FPGA, so you'll probably want SDRAM on the board and a controller for that in the FPGA. That said, if you want anything more than a trivial level of ...


13

If this is for a prototype - consider adding a USB ethernet adapter. If you're building a product, I'd consider an onboard ethernet switch chip. Like this: http://www.micrel.com/page.do?page=product-info/fastether_sw.jsp The ADM6996 may also be an option, if you can find it.


11

I'd like to see this too, but my gut instinct is to say "maybe, but it's a lot of work". Even the smallest Linux distro is going to need around a megabyte of RAM to run. This means at least 30 or so additional pins for the RAM controller in the microcontroller, and a couple of big RAM chips. One of the simplest architectures I know that has Linux for it ...


11

I'd say you're dreaming. The main problem will be the limited RAM. In 2004, Eric Beiderman managed to get a kernel booting with 2.5MB of RAM, with a lot of functionality removed. However, that was on x86, and you're talking about ARM. So I tried to build the smallest possible ARM kernel, for the 'versatile' platform (one of the simplest). I turned off all ...


10

Cortex-M isn't up to the job, you need the ARM926EJ-S A search for "Cortex-M + Linux" doesn't come up with a lot of answers because the Cortex-M isn't designed for Linux. The least-powerful ARM generally considered able to run a full OS like Linux is the ARM926EJ-S series, which uses the ARMv5 architecture. This is a classic processor, with wide adoption ...


10

I'd say either ngspice with gspiceui (part of gEDA I believe) or LTSpice with wine as Renan has already mentioned. Here's a screenshot of ngspice on KDE (with one of the graphical addon packages like nutmeg): I have a linux box and I use the second option (rarely, since I'm mostly on my Windows laptop), simply because I'm used to LTSpice. There are ...


9

The Atmel AT91SAM9260B comes in a LQFP package and may be a little bit lower in price than the SAM9G20. It has a MMU and the same peripherals as the SAM9G20 but runs at 200 MHz rather than a max of 400 MHz. Pay attention to the details in the Atmel Application note Schematic Checklists and you will be successful. You could also try the AT91SAM9XE512 with ...


9

To successfully accomplish this, you probably want the following: Localization Sensors - If you are on a smooth surface, wheel odometry should be enough. The rougher the area that you are operating in, the more sensors you would need. Other common sensors for localization: Digital Compass, IMU, GPS, Vision Tracking (Fiducial Recognition), Stargazer ...


9

There is good Linux support for many microcontrollers: Atmel's AVRs are well supported, with the GCC compiler and avrdude for loading code. An Arduino makes a good development board for starting out. Microchip's PICs are supported by MPLABX which provides compilers, IDE and code loading (using a PICkit). The SDCC compiler supports 8051, Z80, HC08 and ...


9

You can use the AVR GNU tools as standalone packages in linux. These include avr-gcc, avr-binutils, and avr-libc. This is what is referred to as the toolchain. Once you have built a hex file and you are wishing to flash it onto your chip, you can use avrdude. All of these are freely and readily available on Linux and not too difficult to configure to work ...


8

Check how much current your board needs. From memory, the ARM-USB-OCD can only supply a few 10's of milliamps. It is not uncommon for a dev board to use a couple of hundred. As a trouble shooting step, try getting openocd to communicate with the JTAG adapter without it connected to the board.


8

Please check this site for some Cortex-M3 platforms that support Linux (uClinux): http://www.emcraft.com/ We successfully run uClinux on the following Cortex-M3 MCUs: NXP's LPC1788, STmicro's STM32F2, Actel's SmartFusion, and are in process of adding support for a couple more: Freescale Kinetis, STM32F4 (these two are Cortex-M4 rather than Cortex-M3). ...


8

An easy way to program and debug the STM32 Discovery board (or any STM32 using an ST-Link programmer) is to use the 'stlink' project https://github.com/texane/stlink (however OpenOCD seems more popular) There are some good pages on how to develop for STM32 discovery on Linux, such as http://gpio.kaltpost.de/?page_id=131 and ...


7

Linuxstamp is probably your best bet. It's open and has the PCB drawings, schematics, etc available. But as far as doing it at home - probably not. There's some very fine pitches on some of the parts. You're welcome to try, but it seems like a fair bit of consternation to me.


7

You should also check out Eclipse for C/C++ and the AVR-Eclipse plugin. Works flawlessly for me, especially with crosspack. I use it for about a year now and I really like it.


7

The thing about linux based developers is that they usually have their own unique workflow (vim vs emacs, etc). In my opinion, linux is one big IDE that you add your own parts to. With that in mind: If you are using a debian-based distro, run this in your command line: sudo apt-get install build-essential avr-gcc avrdude Then find a text editor you like ...


7

There's a build script here: http://github.com/esden/summon-arm-toolchain to build a gcc based toolchain which targets ARM from Debian based computers. It states that it is tested and confirmed working for: STM32F10x (Olimex STM32-H103 eval board, Open-BLDC v0.1, v0.2, v0.3) which appears to be Cortex-M3 based.


7

My short answer is to just go with LTSpice, it is one of the best simulators on the market and it is free. You can't really beat that. But if you would like a breakdown feel free to read my personal opinions. HSPICE: Advantages: HSPICE is widely considered one of the most accurate simulators on the market. However I have no actual experience using it. ...


7

You can use these macros that get defined automatically when you include <avr/io.h>: SIGNATURE_0 SIGNATURE_1 SIGNATURE_2 For ATmega1280, they're defined as: /* Signature */ #define SIGNATURE_0 0x1E #define SIGNATURE_1 0x97 #define SIGNATURE_2 0x03 in iom1280.h (which is automatically included through <avr/io.h> when you compile code for the ...


7

To compile programs for the ATmega you need a so called toolchain. A well used one is the GNU AVR toolchain (and it is FLOSS). Linux (best), Mac and Windows can handle it. To get the compiled code into your microcontroller, you need a programmer like AVRdude. The corresponding hardware is called an In-System-Programmer (ISP). There are a lot of projects out ...


6

I agree with zklapow but check the projects section on AVR Freaks too. That's how I learnt back in the day before arduinos. Also, you will almost certainly have to read the datasheet for your chip to get anything useful done. There are no nice functions that, for example, read an analog pin in because there are so many parameters that the arduino environment ...


6

If your processor only has one PHY, you're not going to get a lot more speed by embedding the switch on your board. It will be much easier to just add a switch: As the text on this example indicates, any halfway decent switch will autonegotiate 10/100/1000 Mbps, cable crossover. Switches are available in anywhere from 4 to 48 ports, with 5 ports being ...


6

One option would be an i2c temperature sensor along with a USB to i2c adapter. Plenty of different devices are listed as supported. http://www.harbaum.org/till/i2c_tiny_usb/index.shtml


6

I've had good success with Atmel AVRs using: the GCC C compiler with AVR libraries (packaged in APT for Debian based distros) avrdude for flashing devices (using a cheap Atmel AVRISP mkII programmer) AVR Eclipse plugin for an IDE Googling will find some guides on setting it all up under a recent Ubuntu install. It's a lot easier than it used to be, it's ...


6

Xilinx's Microblaze runs Linux just fine, assuming it's fast enough for your purposes - it'll only do some high 10s of MIPS in cheaper devices, 100-200 MIPS in the expensive families. Xilinx have a git repo, or there are a few Xilinx specific distributions. FPGA flexibility can be a bit of a pain as well as a boon, as your memory map and IRQ mappings, or ...


6

SPICE was developed under, is and always has been UNIX based with most instances of the software also being actively run under Unix. There are very few windows variants in comparison. As a result there is a many different flavors of spice out there and many that are FOSS. gEDA, XSpice etc. A quick search under EDA on freecode (the old Fresh meat ...


6

If your filesystem is read-only, use ext2. That is proven stable for several decades, is fast, efficient, supports ownership, supports permission bits and has a huge user base as every Linux box supports it. In other words it supports everything a decent Linux system requires. If read-only is not an option, your next best bet is ext3. Apart from all the ...



Only top voted, non community-wiki answers of a minimum length are eligible