help. leaving pic for arm... but which arm???? - Page 1
Forum section: electronics / general

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: July 04, 2015, 11:27:58 pm
content: So, if one were to say, flee at speed from using pic32mx's and switch to an arm core... exactly which arm core? I know they all pretty much contain the same pehiperals (i2c, spi, can, uarts, multiple timers etc).. who has the least bug free libraries with documentation? (under linux).I dont want any crappy online only compilers etc. online ide or that.mchip provide a netbeans ide which does debugging nicely. anyone in the arm ecosystem provide a nice eclipse/netbeans based ide under linux that does debugging?One thing I loved about the pic32mx in dip + soic was I could get a 50mhz chip with 64kb sram and 256kb program flash. most arm cores I see have like 4 or 8kbLooking on mouser, I see two arm DIP parts, and both NXP chips, one has 4kb program/1kb data, and one has 32kb program/4kb data.ugh.Im not seeing anything good on mouser that would meet 256/64 at 50mhz+ in soic or dip.choosing 64kb sram, mouser is listing LQFP-100 and BGA chips ugh, and all at over $5 in singles...this switching to arm looks harder than I expected when I cant find a comparable chip.anyone have any reccomendations?

author: Tandy
author_rank: Frequent Contributor
timestamp: July 04, 2015, 11:33:11 pm
content: For ARM micros you have a full open toolchain available...GCC ARMEclipse IDEOpenOCDWorks well with STM32 and probably others.

author: andersm
author_rank: Super Contributor
timestamp: July 05, 2015, 12:08:29 am
content: Add to that theGNU ARM Eclipseplugin that ties all those pieces together.Any Cortex-M core will do, but performance and memory tends to go hand in hand with increased footprint.EDIT: Closest I could find is Infineon's XMC1100/1200/1300 - 32MHz Cortex-M0, with up to 200K flash and 16K RAM, available in TSSOP. Realistically you will have to go to at least QFP, but then you can get eg. the Atmel ATSAM4N8AA-AU - 100MHz Cortex-M4, with 512K flash and 64K RAM, available in LQFP-48.

author: nctnico
author_rank: Super Contributor
timestamp: July 05, 2015, 01:08:20 am
content: NXP offers a very wide range of ARM controllers and re-uses their peripherals a lot so it is easy to switch from one controller to another without needing to learn new peripherals. If you really need lots of flash in a small footprint then the LPC11U68 in a QFP48 case might be an option. I wouldn't want to use a DIP package for a high speed microcontroller anyway. Proper power supply decoupling gets difficult.

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: July 05, 2015, 01:46:38 am
content: hmm it appears I already have an STLink v2 programmer here. maybe I should concentrate on the STM32 stuff?

author: funkathustra
author_rank: Regular Contributor
timestamp: July 05, 2015, 04:51:17 am
content: Check out theFreescale Kinetisstuff. Highly underrated among hobbyists. Given your interest in a low-cost, large-flash part that's easy to solder, I'd look at the $3MKL16Z256. If you need something more powerful than that, check out the KV31 stuff, which can run at 120 MHz, and still clocks in at just north of$4/eachin low volume.You're not going to find anything in TSSOP with that sort of memory density -- and I think only LPC makes DIP versions of ARM processors.I've never understood the crazy-high amounts of flash and RAM that Microchip shoves into their PICs -- I guess it's because the free version of their compilers doesn't have any code optimization support. In all seriousness, though, the only times I reach for an MCU with that kind of flash / RAM is when I'm doing something with a network stack and/or an LCD. At that point, I'll need a 100-LQFP just to get all the signals out of the MCU. Not sure of any applications where you want low pin-count and high flash / RAM.Anyway, why Freescale Kinetis? Here are some reasons:Wide portfolio covering$0.85 5-volt compliant Cortex-M0+ MCUs(designed as 8-bit killers), to180 MHz Cortex-M4F beastswith tons of flash, RAM, and peripherals. Their low-cost Cortex-M0+ stuff is some of the lowest-power MCUs I've ever used, and they're super easy to work with. They obviously have their infamous i.MX6 (up to 1.2 GHz quad-core) Cortex-A processors, but that's an entirely different beast altogether.Theirlow-cost FRDM development boardstypically run for less than the price of an Arduino, and have aSegger J-Link-compatible OpenSDA debuggeron-board (which can run several hundred dollars if purchased stand-alone).Kinetis Design Studio, their open-source Eclipse-based IDE is super easy to install and useProcessor Expert, which is Freescale's GUI configuration / code generation tool for hardware peripherals is really underrated. ARM microcontrollers have a lot of advanced features that aren't typically found in 8-bit MCUs (complex clock system, peripheral-level power management, NVIC, etc, so it's overwhelming for a lot of hobbyists to get started. Processor Expert lets you specify human-readable peripheral parameters, and PE will automatically generate initialization code and HAL functions.Kinetis SDK, which is their new peripheral library / software interface library, is a nice balance between CMSIS (20 lines of code just to configure a single GPIO pin) and Arduino (limited peripheral configurability without doing raw register writes). Processor Expert can also write Kinetis SDK code for you.MQX, which is Freescale's open-source in-house RTOS, is extremely mature and functional. It's a little more verbose than other RTOSes, but it's also very powerful as a result.USB and Ethernet stack that's almost as user-friendly as Microchip's. You're not going to find that from other vendors.I've used a *lot* of MCUs over the years -- Everything Microchip has ever put out, ST's STM32 line, TI's Stellaris and MSP430 stuff, NXP's LPC stuff, Infineon's ARM portfolio, even all that Atmel crap (yuck! I have no idea how that company is still around). I keep going back to Kinetis, because I feel more productive on it than any other MCU out there.

author: Tandy
author_rank: Frequent Contributor
timestamp: July 05, 2015, 09:29:23 am
content: Quote from: BloodyCactus on July 05, 2015, 01:46:38 amThe good thing about using ARM with GCC ARM,Eclipse IDE & OpenOCD is that if you use theCMSIScomponents it offers a somewhat standard method for accessing the peripherals making it easier to switch between different vendors.

author: nctnico
author_rank: Super Contributor
timestamp: July 05, 2015, 09:52:53 am
content: Switching between vendors through CMSIS is a myth. IMHO it is important to look for a vendor which uses the same peripherals in their devices. This vendor will most likely stick to these peripherals for newers versions of their chips so you can port your existing code quickly to newer devices. I was using NXP's ARM7TDMI controllers a lot and due to the peripherals staying the same the move to Cortex Mx was very easy for me. For simple peripherals like UARTs, timers, I2C, etc I roll my own hardware libraries (or have done so) and use third party libraries (like LUFA) to handle complicated peripherals like ethernet and USB. Vendor provided libraries are usually written by interns AND need to be a one-size fits all solution so don't expect anything production ready or optimal for your project.BTW it will be interesting to see where Freescale's Kinetis line will end up in NXP's microcontroller portfolio since Freescale is now part of NXP.

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: July 05, 2015, 10:51:06 am
content: Quote from: Tandy on July 05, 2015, 09:29:23 amIn practice, apart from some minor stuff like SysTick, NVIC, CMSIS does not provide any useful level of portability. For example, CMSIS does not include a standard API for GPIO or timers.Even if something is defined in CMSIS spec, there is no incentive for vendors tol provide CMSIS compliant code - they are not interested in making it easy to switch to other vendors!

author: BravoV
author_rank: Super Contributor
timestamp: July 05, 2015, 10:58:40 am
content: Quote from: donotdespisethesnake on July 05, 2015, 10:51:06 amThis ....Although I'm just an enthusiast level, my believe is with current ARM's mcus landscape, you must choose which devil to put your bet on.... yeah, sigh, I had choose which side already ...

author: donotdespisethesnake
author_rank: Super Contributor
timestamp: July 05, 2015, 11:11:46 am
content: Quote from: BloodyCactus on July 04, 2015, 11:27:58 pmFirstly you'll have to forget about DIP or SOIC, and at least get to grips with LQFP. My impression is that Microchip still offer good value for money at the low end, so you would have to compromise somewhere to get the same price point.I think a good place to dip a toe into the water is STM32F103. STM32 are quite cheap, widely available, with plenty of online info. Their Nucleo boards are some of cheapest dev boards around.If you find speed, Flash or price unsuitable you can move up or down the spectrum, STM have a range from Cortex-M0 to M7.If you don't like STM, other entry points to consider would be NXP LPC1347, or Freescale Kinetis K22.There is probably more info about LPC online, but Kinetis have good value for money, as they skipped Cortex M3 and use Cortex M4 instead. Atmel SAM series are quite user friendly, but their chips are overpriced and have some technical limitations IMO.

author: nctnico
author_rank: Super Contributor
timestamp: July 05, 2015, 11:55:23 am
content: IMHO going for the cheapest development board or device is the wrong way. Better look at how much time you'll need to get up to speed with a device and where the problems are.

author: Howardlong
author_rank: Super Contributor
timestamp: July 05, 2015, 12:15:27 pm
content: I use NXP's LPCxpresso and TI's Code Composer Studio, both Eclipse based.TI's CCS is a cleaner, faster and more bug free than LPCxpresso. LPCxpresso seems more dependent on loosely coupled bolt ons, CCS feels much more tightly integrated.Either way, you'll have quite a learning curve ahead of you coming from PIC32, not because the fundamentals are different, they're not, but learning these complex development environments is not trivial. Getting a blinky running is of course reasonably easy, but it won't take long before you find yourself lost in a plethora of options and settings once you want to do something real.

author: Rasz
author_rank: Super Contributor
timestamp: July 05, 2015, 12:34:37 pm
content: Quote from: andersm on July 05, 2015, 12:08:29 amdo they sell to anyone other than auto/robot/machinery people? they seem to be targeting heavy industryQuote from: funkathustra on July 05, 2015, 04:51:17 ameasiest to start withTeensy

author: andersm
author_rank: Super Contributor
timestamp: July 05, 2015, 12:37:43 pm
content: Quote from: Rasz on July 05, 2015, 12:34:37 pmThey're available on eg. DigiKey.

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: July 05, 2015, 04:03:09 pm
content: Ive looked at kinetis stuff before and was interested but i do wonder about the nxp shadow and what may happen.teensy, its not open source, I dont need to have to buy the mini54 chip or whatever each time I want to use a teensy or something.I guess I'm going to have to brush up on my hand soldering of lqfp or tqfp parts lol

author: miguelvp
author_rank: Super Contributor
timestamp: July 05, 2015, 04:07:20 pm
content: Quote from: Rasz on July 05, 2015, 12:34:37 pmAgreed, that Teensy 3.1 for just $19.80 looks very capable. Even the 3.0 for $19, and since it's a Cortex M4 it might have DSP if you need that.

author: zapta
author_rank: Super Contributor
timestamp: July 05, 2015, 04:52:16 pm
content: Quote from: miguelvp on July 05, 2015, 04:07:20 pmThe Teensy 3.1 is not open source design. If you will later want to have your own custom PCBs based on that design you will have to purchase the Teensy licensing chip.The Neutrino is a better choice in this regard. Open and minimal design.

author: miguelvp
author_rank: Super Contributor
timestamp: July 05, 2015, 06:05:08 pm
content: I guess if you want to stick with the Teensy Loader, but it's just an MK20DX256VLH7https://www.pjrc.com/teensy/schematic.htmlI would think you can use any toolchain once you outgrow the Teensy bootloader.

author: funkathustra
author_rank: Regular Contributor
timestamp: July 05, 2015, 11:35:47 pm
content: Agreed with the overall sentiment on this thread with respect to CMSIS. Most vendors provide proprietary peripheral interfaces that are easier to use and perform faster than CMSIS.Keep in mind that while everyone and their dog makes ARM Cortex-M MCUs, most of the peripherals are manufacturer-supplied, not ARM supplied. For example, the Freescale Kinetis peripherals are basically all just ColdFire peripherals that have been dumped onto the die with the ARM core. That's why it's difficult to port code from one ARM MCU to another.Quote from: BloodyCactus on July 05, 2015, 04:03:09 pmI've never understood people's fear of fine-pitch SMD soldering. I ran a soldering table at a maker event in my city, and I had 12-year-old kids (and their moms) soldering 0.5mm QFPs after about 2 minutes of instruction. Flux, tack, drag, and wick. Easy.As long as you're soldering components on "real" PCBs (solder resist and finished pads that aren't corroded), and as long as you have reasonably good eyesight to be able to see that pins are aligned, it only takes basic technique to be able to solder those parts. It's time-consuming for beginners because they tend to put way too much solder on joints, so they spend a lot of time fluxing and wicking away, which, while not difficult, is time-consuming and tedious.What about BGAs and QFNs? I solder QFNs and BGAs all the time with a cheapo hot air gun or my reflow oven. I'd prefer to solder a 0.8mm pitch BGA over a 0.4mm pitch LQFP / QFN any day. I almost never have them come out of the oven with bad solder joints.

author: Yansi
author_rank: Super Contributor
timestamp: July 05, 2015, 11:45:43 pm
content: I prefer STM32.. (for maybe obvious reasons..)Use professional tools like Keil, IAR,... GCC is good, but not good enough, compared to for example IAR compiler.CMSIS? Only as a register definition header file. Never ever use that other crap. Different vendors with different MCUs are different to be different, never meant to be equalized by any means. Use arduino otherwise...

author: Palmitoxico
author_rank: Regular Contributor
timestamp: July 05, 2015, 11:50:01 pm
content: Quote from: funkathustra on July 05, 2015, 04:51:17 amWell, it was a pain in the ass to program and debug these Kinetis FRDM boards on Linux through OpenSDA (which is not open at all!!).I'm using now STM32 chips with STLink V2 debugger and I liked it! The learning curve was a little hard, but eventually I've learned enough to write an TFT LCD library.My IDE is basically emacs + git + arm-none-eabi toolchain + OpenOCD. I've tried Eclipse, but it was too unstable and cumbersome to me. I know, GDB isn't the easiest debugger to use with microcontrollers, but it does the job. I'm writing an GUI front end for GDB specially target to Cortex M microcontrollers (it will provide an friendly to watch peripherals and memory).

author: zapta
author_rank: Super Contributor
timestamp: July 06, 2015, 05:16:29 am
content: Quote from: Yansi on July 05, 2015, 11:45:43 pmCan you explain the 'obvious reasons'?

author: Jeroen3
author_rank: Super Contributor
timestamp: July 06, 2015, 05:51:29 am
content: ST put effort in designing the chips in such a way that swapping ST-parts is easy. Chips of the same family are often binary compatible, and the datasheet contains a diagram of what to change what switching to/from lower/higher chip.I like NXP because of the relative simplistic peripherals. With their limits, obviously.Get you running quickly if you don't need anything fancy. You'll be vendor locked anyway if you need fancy peripherals. It just requires less rework to switch brands, if you've made a good layer layer cake.Choosing the chip/family of a cheap development kits can benefit in having popular open-source software plug&play available.Always read the errata sheet before purchase.

author: Muxr
author_rank: Super Contributor
timestamp: July 06, 2015, 05:59:27 am
content: Quote from: BloodyCactus on July 05, 2015, 04:03:09 pmIt's not bad. I do recommend a hot air rework station though (love that thing). They can be gotten for cheap. i just put together a board with a few TQFP 100 pin chips, and I didn't even have a stencil. Toothpick applied the paste and then hot air reflow-ed it. I put little too much paste and had a few shorts but it was easy to wick it up with the solder wick. Id imagine it would be super easy with a stencil (mine is on a slow boat from China and I couldn't wait).

author: funkathustra
author_rank: Regular Contributor
timestamp: July 06, 2015, 06:50:37 am
content: Quote from: Palmitoxico on July 05, 2015, 11:50:01 pmNext time you're trying to do a FRDM board in Linux, tryflashing the on-board OpenSDA debugger with J-Link firmware, then grab the latest version of Segger's tools. I've never had problems with J-Link under Linux / GDB, so that's my go-to tool when I'm booted into Linux.Freescale Kinetis Design Studio is also one of the only IDEs I've seen that works on Linux. Yes, I know you can set up Eclipse CDT with the ARM Embedded plugin, and hack in OpenOCD, but boy, it sure is nice to click on a button and have your toolchain working. As I've gotten older (I'm 28 now), I'm no longer amused by setting up toolchains / IT stuff. I'd rather just have something that works, out of the box, without having to fuck around with it.

author: westfw
author_rank: Super Contributor
timestamp: July 06, 2015, 06:03:39 pm
content: Avoiding teensy because the bootloader chip isn't open source is about like avoiding all those atmel chips because the JTAG ice 3 code isn't open source... The teensy bootloader chip isn't required in a production design; there are plenty of other ways to get your code into the chip.

author: Howardlong
author_rank: Super Contributor
timestamp: July 06, 2015, 06:27:30 pm
content: Quote from: Jeroen3 on July 06, 2015, 05:51:29 am...unless you're talking about the SCT (State Configurable Timer) or the SGPIO that is which have to be the most complex peripherals ever devised. But they are very powerful once you've figured out what on earth they're capable of.

author: ehughes
author_rank: Frequent Contributor
timestamp: July 06, 2015, 06:58:37 pm
content: Freescale FRDM Boards are low cost. Supported by both open source and proprietary tools.Some projects with them:https://community.freescale.com/docs/DOC-99621NXP LPC Xpresso has low cost boards. Tool chain is based upon the latest build of ARM Embedded.

author: Palmitoxico
author_rank: Regular Contributor
timestamp: July 06, 2015, 07:05:02 pm
content: Quote from: funkathustra on July 06, 2015, 06:50:37 amYes, I've used J-Link firmware, it worked but wasn't stable with my FRDM-KL25Z board (I can't remember the details, but some times it couldn't connect with the target microcontroller).I was not aware about Freescale Kinetis Design Studio for Linux... well... it requires a fucking registration... I'll try it latter.Build a toolchain on linux isn't too dificult, just install arm-none-eabi-gcc, openocd, write an makefile and it's done.

author: zapta
author_rank: Super Contributor
timestamp: July 06, 2015, 07:11:10 pm
content: Quote from: westfw on July 06, 2015, 06:03:39 pmBut then you lose the ease of use which is a major reason why people use it. Start with an open source like nuetrino and you can ride it all the way.

author: nctnico
author_rank: Super Contributor
timestamp: July 06, 2015, 07:48:09 pm
content: NXP's ARMs all come with a serial bootloader. Som types with USB even support drag & drop using Windows explorer like you are copying a file onto a USB stick. It doesn't get much easier.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 06, 2015, 08:00:26 pm
content: Quote from: Yansi on July 05, 2015, 11:45:43 pmIAR is very good, but (at least last time I looked) had a huge cost jump from the 32K free version to the first non-free version - about $3K I think

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 06, 2015, 08:02:46 pm
content: Quote from: BloodyCactus on July 04, 2015, 11:27:58 pmSo why are you wanting to switch ? Last time I looked, Microchip were the only choice if you want 64K RAM in a <64 pin package.

author: Jeroen3
author_rank: Super Contributor
timestamp: July 06, 2015, 08:27:31 pm
content: There is a price gap in the "free" IDE's and the "professional" IDE's. However, compared to the time you *can* save, it might not be that big of a gap after all.Just remember, they're free in currency because you pay with time.For for companies running any significant revenue it's not expensive. A car mechanic also has to buy power tools to become more productive.But you can always hire freelancers in Asia, or get interns, they're cheap compared to European hours.Looking for DIP packages nowadays is not right. All manufacturers move away from dip because it's expensive. There is a lot of excess copper and plastic in DIP compared to QFP or QFN.We're retrofitting older certified and trusted designed with SMD parts. Because dip is becoming more and more pricey. Read the PCN's (product change notification).iirc nxp abandoned producing dip for other than legacy logic.Not until qfp64 you'll get around the 100 kb ram. Which is a lot, first calculate your actual needs. Estimates are often tens of kb off.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 06, 2015, 08:58:34 pm
content: DIP is a "nice to have", especially for protos, but not really a reason in itself to select a part, however the choice of 3 other packages (SO,SSOP, QFN) on the lower pin-count PICs is very useful. If you don't need the small size., SO is still a useful option as it will forgive less-than-perfect PCB and assembly processes.

author: Palmitoxico
author_rank: Regular Contributor
timestamp: July 06, 2015, 09:06:56 pm
content: Quote from: mikeselectricstuff on July 06, 2015, 08:58:34 pmAgreed. The major problem with SMT parts isn't soldering when you have professional quality PCBs, but when you can only afford single sided home made PCBs without any fancy finishing.

author: jnz
author_rank: Frequent Contributor
timestamp: July 06, 2015, 09:15:47 pm
content: Quote from: Palmitoxico on July 06, 2015, 09:06:56 pmHonestly, I think this is a huge reason that hobbiest-microcontrollers are only getting more popular. Get a Rasp, Ardunio, etc and extend your circuit with add-on modules that you can use throughhole or SOIC parts on. The idea that a hobbiest will start buying NXP chips and doing their own cheap circuit boards over a pre-made solution is weird to me.ARM is clearly not as hobbiest friendly, but that's OK and for the rest of us with more professional level budgets, to use PIC is to me, foolishness, but I've only used PIC for 12 years, I'm just bitter

author: jnz
author_rank: Frequent Contributor
timestamp: July 06, 2015, 09:30:43 pm
content: Quote from: BloodyCactus on July 04, 2015, 11:27:58 pmI wanted to take a second and share my experiences as I just recently transitioned from PIC to ARM.A lot of what people wrote about CMSIS being a myth is kinda true. Your code won't likely, and probably shouldn't just transfer from chip to chip. That said, CMSIS is very handy at a standard naming convention, RTOS aspects, etc. Write your own libs, use HALs, do whatever, if it's CMSIS, at least someone will be able to read and understand it quicklyMicrochip has taken a nose dive and I see about zero intention of a course correction. Their tools are garbage. On the ARM side it's really nice having a selection of most serious tools available.On tool selection... There are a LOT of people that will recommend X vs Y... Use what works for you. I'm in a place where spending $10k on Keil Pro with royaltyfree access to their middleware which works with their RTOS right out of the box, worth every penny. If Kiel/Rowley/IAR free/cheap/student/hobby works, great. If you have the time to configure any of the free solutions, go for it. If you ask me, I'll recommend Keil, but I can see GCC+whatever being much better for you depending on how and what you'll work on"As I've gotten older (I'm 28 now), I'm no longer amused by setting up toolchains / IT stuff."QFT!!!Yea, I just need to get work done, like today.Segger tools are very good. And on that note... Spend money, or spend time. You cannot save both. Personally, I have way more money than time. I can always just make more money, I can't say the same for time.It's SO NICE to have professional peripherals that for the most part work - compared to microchip. Depends on the peripheral, but if you need to rely on Microchip and CAN bus... well I feel bad for you son, cause you got 99 problems.ST's method of offering a TON of parts with a TON of variety but still backwards and fowards compatible in pins where possible, awesome. For me, I need small powerful chips and ST seemed to have the largest variety of low pin count TSSOP and QFT parts. NXP was my second choice. Freescale had the least number of parts that would have worked forme.IMO... Every hour spent learning and implementing ARM is time well spent and something you'll be able to use later. Microchip on the other hand, I seriously doubt even with the PIC32 this is time well spent.Good luck buddy.

author: Howardlong
author_rank: Super Contributor
timestamp: July 06, 2015, 10:11:00 pm
content: Quote from: mikeselectricstuff on July 06, 2015, 08:00:26 pmI tend to agree, 3k is just not on the radar if you're a one man band or SME. It's the same licensing mentality as Matlab for example. For an SME, if there's no advertised price, you know you're wasting your time even picking up the phone.My software spend as a one man band is already £5k pa as it is, mostly on subscription licences.A better model from IAR would be to offer warranty and premium support for those spending 3k per desk, and community only for, say, $500pa, and a crippled version for free.Of course, if one's "lucky" enough to work for a big corp with a fat spend because the CFO was taken for a boozy round on the golf course, I am full of envy. But you'll find SMEs and OMBs are a bit more mercenary than that, and understand value for money at a more granular level. Personally as an OMB I'd rather spend the money going on a nice holiday several times a year in the comfy seats than funding Clive from Accounts enjoy a soulless piss up on the 19th, but that's my own preference, YMMV ;-)

author: EEMarc
author_rank: Regular Contributor
timestamp: July 08, 2015, 12:14:30 am
content: I've been using STM32F1xx series for 6 years now at work with Keil. They are pretty good microcontrollers and have worked on the many projects that I've used them in.Recently, I got a couple STM32F401 Nucleo boards for $11 USD. It runs an Arm Cortex M4 at 84MHz and is a pretty powerful microcontroller. They make some in the series that are up to 180MHz. That is a pretty powerful microcontroller and the board is in an Arduino form factor so you can make use of their shields. The Nucleo has a ST-link V2.0 programmer/debugger and a header on it for programming your own boards.I use GCC Arm, Eclispe, and OpenOCD toolchain to program and debug them.is a detailed Youtube video of how to setup the toolchain.I have also use NXP's LPC1114 microcontroller using their LPCXpresso IDE. That works well too as a lower end solution with an ARM Cortex M0. NXP's LPCs are nice if you are looking for something low cost. I have their development board which also has a built in LPC-Link programmer/debugger with a header for programming your own boards. The IDE free version goes up to 256kB. To get more you'd have to pay for the pro version which is $495. I haven't used any of their LPC's that have enough flash to need the pro version.

author: nuno
author_rank: Frequent Contributor
timestamp: July 08, 2015, 12:27:49 am
content: You should try a PSoC4. Has some analog and configurable digital peripherals. Totally free fantastic IDE that allows you to use the code in commercial applications, many other good things. You have the $30 pioneer dev board that supports debugging etc and the small $4 breakout board with detachable USB-UART interface (with bootloader so you can download code without a programmer, good to try out the platform). miguelvp here in the forum has lots of good posts about it.

author: miguelvp
author_rank: Super Contributor
timestamp: July 08, 2015, 12:49:53 am
content: Quote from: nuno on July 08, 2015, 12:27:49 amI would have suggested the PSoC 5LP, specially the $10 prototype board that has 2 of them, but the OP mentioned Linux only, so that limits what is available. Granted you could export the Creator project to Eclipse or Keil but you still need a Windows machine to configure the digital and analog blocks.Edit: the PSoC 4 is nice and all, and I like it a lot, but it's a bit on the anemic side since the OP asked for:QuoteMax you can get on a PSoC4 is 16KB SRAM and 128KB Flash at 48MHz, and I assume the OP meant KiloBytes (the 1024 octates kind) not Kilobits, but I guess he likes to type in lowercaseAlso Cortex M0 has probably less instruction opcodes than the 6502! Not that it matters much but I think at least an M3 or an M4 would be a better fit.

author: nuno
author_rank: Frequent Contributor
timestamp: July 08, 2015, 01:27:40 am
content: Yes, I did overlook the linux part, and I think I remember seeing that the Creator is not running under wine or something, my bad. As for the rest, I would love to have an AVR or a PSoC with half-meg SRAM/FLASH/EEPROM and 200MHz core, 10 UARTs and 20 timers and (...) too, if you know what I mean; are you sure you really need "that much" SRAM/FLASH, Cactus? Maybe you're just trying to aim at one-size-fits-all requirement. I think you should try a PSoC4 (or 5) anyway(but yeah, if you're in linux...)

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: July 08, 2015, 12:38:05 pm
content: since its been asked a few times, I do use the ram. one of my pinball pcbs is a 64 channel RGB LED board. it basically runs as a bytecode interpreter. a master board sends pattern data down over rs485. 64kb basically gives me 256 commands per LED. that would be assuming each led didnt share another leds pattern data. thats the most extreme one I have that can really use the ram.since it only costs $3.50 a dip chip in x25 lots on mouser, its easier to just buy 'one size fits all' and go bulk.Ive downloaded the kinetis ide and sdk to poke around with. i see the 'low end' programmer costs another 200$.

author: tipofthesowrd
author_rank: Contributor
timestamp: July 08, 2015, 12:52:55 pm
content: I'll give my two cents since I recently started working with ARM micros both professionally and for hobby use only a few years ago.First of all regarding compilers: I really think GNU GCC is being underrated here.There's a reason why all the major vendors recently are switching to GCC (most recently Freescale with Kinetis Design Studio) or at least including extensive GNU GCC support. The recent advances with the nanolibc are really good and so far I've not come across a compiler problem that I couldn't solve with a few Google searches.At work we used NXP LPC parts and the cumbersome LPCXpresso IDE (eclipse based) but now we're using CodeBlocks in combination with openOCD after we were quite tired and annoyed with LPCXpresso, the code size limitation and the non-compatible updates to higher versions.At home I'm using mbed based controllers (mbed.org) such as the lpc1768 and the Kinetis L-range. Due to the portability I canreuse large parts of my existing code in both the lower end (Cortex-M0+) and the higher end (Cortex-M4).I use mbed with my offline GNU GCC based toolchain a busblaster from DangerousPrototypes (a collegue has an Olimex programmer) and openOCD.In the end with those mbed boards and my offline toolchain with full debugging/programming capability I'm quite happy and can quickly change between vendors as well. And best of all (for me), everything is cross platform and open source.

author: funkathustra
author_rank: Regular Contributor
timestamp: July 08, 2015, 04:56:07 pm
content: Quote from: BloodyCactus on July 08, 2015, 12:38:05 pmAll of Freescale's low-cost FRDM boards (which I mentioned in my initial post) have built-in OpenSDA debuggers. OpenSDA lets you switch between different debugger firmware. Currently, FRDM boards supportCMSIS-DAP/mbed.org,P&E Micro, USBDM, and my personal favorite,SEGGER J-Link.You don't have to buy a stand-alone programmer to program your own designs -- all of these FRDM boards have an off-board industry-standard micro 10-pin Cortex SWD debug connector, which, after removing some jumpers, can be used to program/debug an external target. FRDM boards start at about $12 each, so it's hard to complain about the price.The programmers you're talking about are for production programming, not for development debugging. I don't know that there's much of a difference anymore, but production programmers used to be faster and more reliable? I guess? It's hard to beat J-Link for speed or reliability, though.

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: July 08, 2015, 05:38:19 pm
content: Quote from: funkathustra on July 08, 2015, 04:56:07 pmnice, I did not know that.QuoteI was looking at the PE universal multilink, I would not call that a production programmer imo. but its good to know you dont need one for programming and in circuit debugging then

author: tipofthesowrd
author_rank: Contributor
timestamp: July 08, 2015, 05:41:33 pm
content: Quote from: BloodyCactus on July 08, 2015, 12:38:05 pmfyi: the Kinetis IDE can also debug using the cmsis-dap (mbed) or openSDA firmware through the onboard USB on a Freedom board.Just check under 'Run --> Debug Configurations'

author: nctnico
author_rank: Super Contributor
timestamp: July 08, 2015, 06:30:28 pm
content: Quote from: BloodyCactus on July 08, 2015, 05:38:19 pmI have some mixed experiences with the PE multilink. It won't work on my new PC due to USB incompatibilities (PE can't or won't fix). One of the things I hate about Freescale's microcontrollers is that they rely on exotic debugging/programming hardware so you are screwed when it doesn't work for some reason.

author: tipofthesowrd
author_rank: Contributor
timestamp: July 08, 2015, 06:38:29 pm
content: Quote from: nctnico on July 08, 2015, 06:30:28 pmHmm, can't say I've tried the PEMicro stuff. Recently I've been hanging around the Freescale forums and some of the unofficial app notes from the Freescale people you'll see they're also using the mbed firmware on the freedom board as a general programmer/debugger in combination with the Kinetis SDK and Kinetis IDE. Might be they also got tired of it.

author: funkathustra
author_rank: Regular Contributor
timestamp: July 09, 2015, 07:22:05 am
content: The PE Micro stuff is crap. They've largely been eclipsed by CMSIS-DAP and J-Link firmware on the FRDM boards.Since we're on the subject of Freescale ARM chips, did anyone else notice howridiculously cheapFreescale started selling the MK02 for?A buck sixty-nine will buy you single quantities of a 100 MHz Cortex-M4F MCU with 64K of flash, infamous Freescale analog (twelve 16-bit ADC channels, two comparators with optional 6-bit DAC reference, 12-bit stand-alone DAC), 6 channels of 16-bit PWM, and decent connectivity for a 32-pin part (two UARTs, 1 SPI, 1 i2C).And people wonder why I crack up when they tell me what they spend on those ridiculous AVR chips.

author: tipofthesowrd
author_rank: Contributor
timestamp: July 09, 2015, 07:28:02 am
content: Quote from: funkathustra on July 09, 2015, 07:22:05 amExactly the reason why I switched to Freescale ARM for some customer projects.Though, fair bit of warning the official Freescale forums are a PITA to use.For Freescale parts there is a huge amount of information on thehttp://mcuoneclipse.com/website by Erich Styger

author: jnz
author_rank: Frequent Contributor
timestamp: July 09, 2015, 03:25:15 pm
content: FWIW, while we're on the topic of programmer/debuggers... My JLink Ultra has been very very good.Bit of a learning curve with Debug ITM (printf over the SWO wire) and Keil but that's really more an issue with Keil. Other than that, I think they have a cheap Jlink that I could recommend for sure.

author: Unknown
author_rank: Unknown
timestamp: July 09, 2015, 04:39:11 pm
content: I also reccomend the freescale MCUs. When i was starting i bought two freedom board ( one with a M0+ and one with an M4 ) and basically tried every peripheral and configuration available.Now i don't want to start a war but in some application i find the pics easier to use and the best choice (maybe because i used them for a lot of time). The reference manual for one arm family is something like 800 pages so the learning curve will be a lot more steep than with pics where for the 8 bit family you configure 5-6 registers and you are good.One big plus for me is that freescale has a free and supported IDE for their series of arm mcus with no code restriction and also sends free samples.

author: sswift
author_rank: Contributor
timestamp: July 09, 2015, 06:24:58 pm
content: Quote from: westfw on July 06, 2015, 06:03:39 pmNot if you wish to allow your end users to be able to upgrade their firmware.With the Teensy if you don't have that chip, they'll need a programming device. With the Neutrino the end user only need a USB cable and the appropriate software to program it.Even if Paul were giving away the firmware for those mini54tan chips, the chips would still add a couple bucks to your BOM. And they're hard to find; I just did a quick search of Digikey and Mouser and neither carry them, and a search on Octopart and Oemstrade only shows one distributor with any significant stock.

author: Yansi
author_rank: Super Contributor
timestamp: July 09, 2015, 07:08:37 pm
content: Quote from: exapod on July 09, 2015, 04:39:11 pmThe Freescale MCUs must be therefore simple as bite... I'd like too see you doing this on some beefy STM32.

author: Unknown
author_rank: Unknown
timestamp: July 09, 2015, 07:33:07 pm
content: Quote from: Yansi on July 09, 2015, 07:08:37 pmWith enough free time everything is possible...

author: zapta
author_rank: Super Contributor
timestamp: July 09, 2015, 07:43:58 pm
content: Quote from: sswift on July 09, 2015, 06:24:58 pmAnd with the ARM PRO MINI you don't even need software to program it, even not the first time, just a file drag with the mouse.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: July 09, 2015, 09:35:37 pm
content: Quote from: mikeselectricstuff on July 06, 2015, 08:00:26 pmLet me put in a plug here for Rowley CrossWorks for ARM. If you're a hobbyist and using it non-commercially, there is a personal license available for $150.I've been using it for around five years and it works with JLink, STLink-v2, LPC-Link2. It's fast and has no code space limitations.

author: zapta
author_rank: Super Contributor
timestamp: July 10, 2015, 03:08:46 am
content: Quote from: Sal Ammoniac on July 09, 2015, 09:35:37 pmDues it run on Mac OSX?Also, can I develop with it open source projects that others can compile with the free ARM tool chain?(I am currently using lpcxpresso which is yes for the two points but wouldn't mind to switch.)

author: jnz
author_rank: Frequent Contributor
timestamp: July 10, 2015, 04:01:37 am
content: Yea, iirc, Rowley works in OSX.I tried Rowley, and liked some of it, a lot. But it wasn't going to work for me. I pretty much had to spend lots of money somewhere either at Segger, Keil, IAR, other, and chose Keil. uV5 isn't terribly high end in terms of IDE, but it was well and hasn't crashed or done anything dumb yet. I crashed Rowley twice in two days, but I don't really hold that against them.Someone mentioned to me Rowley was great for Hobbiest that wants a full IDE and for some reason doesn't want mbed. And someone like a professional hardware guy who wants to confirm designs.If I was the later or just worked mail with hardware I'd go with Rowley over Keil, but since I do more software, RTOS, production firmware etc, Keil was the better choice for me. I know one thing for sure, setting up a custom toolchain was NOT the right move and I'm glad we skipped that potential mess.

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: July 10, 2015, 12:45:47 pm
content: going to order a FRDM-K64F dev board from mouser and a couple of MK02FN64VLH10 chips and a segger jlink and see how I go at making my own little dev board with swd

author: Brutte
author_rank: Frequent Contributor
timestamp: July 10, 2015, 03:36:17 pm
content: QuoteFRDM already comes with a debugger. External targets are supported (SWD).I would not start from making a custom LQFP board. These are not 4MHz PIC8s, you know.

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: July 10, 2015, 04:26:39 pm
content: Quote from: Brutte on July 10, 2015, 03:36:17 pmthats part of the learning processes. why wouldnt I make a custom lqfp board? in this regard its no different from a pic32. drop a 16-20mhz crystal and expose the pins to a header, make my own dev board. its what Ill be doing with it with my projects anyway when i make a board with it on.

author: sswift
author_rank: Contributor
timestamp: July 10, 2015, 05:06:32 pm
content: Quote from: zapta on July 09, 2015, 07:43:58 pmSo... it looks like a USB stick to the PC? That's clever.I might have to borrow that. idea. Not for the Neutrino; that's staying compatible with the Arduino toolchain and finding the bin files after you compile would be more of a pain than just hitting upload, but I plan to design other boards that I want the end user to be able to update the firmware of. Right now I do that by having them drop files on an SD card. But that's on boards using the Atmega, and I really wanted to make things simpler now that I have a USB port to play with.I was considering supporting USB sticks, but making the board itself appear as one so they can just drop the firmware update onto it would be even better.Well, actually... having both would be ideal in case you can't get the device near a PC to connect a USB cable.

author: tipofthesowrd
author_rank: Contributor
timestamp: July 10, 2015, 06:21:41 pm
content: Mbed works the same wat, as does the lpc1768 USB bootloader...

author: zapta
author_rank: Super Contributor
timestamp: July 11, 2015, 09:45:24 pm
content: Quote from: sswift on July 10, 2015, 05:06:32 pmLook for NXP MCU's that have USB ISP. These MCUs come stock with bootloader that support both serial and USB bootloading. The bootloader is not part of the user's writeable flash so you cannot overwrite it. When you reset it in ISP mode, they mount themselves as a flash disk and have a single file called firmware.ben. You overwrite that file with the new firmware (the name of the new file doesn't matter) and the flash get updated. This is done at USB speed and takes a fraction of a second. In the arm pro mini I added a 'or' function to allow entering the ISP mode with a single button click (see schematic below). When I program it with lpcxpresso I added to the build a shell script that does the file copying so I build and download in a single operation. It's a very handy bootloader.https://github.com/zapta/arm/blob/master/pro-mini/board/arm-pro-mini-schematic.pdf

author: jnz
author_rank: Frequent Contributor
timestamp: July 11, 2015, 10:02:08 pm
content: Quote from: zapta on July 11, 2015, 09:45:24 pmST has some sort of bootloader mode as well. It's on the parts I have, just haven't looked into it yet.I like the idea for prototyping, but I'm not 100% crazy about it from a security standpoint in production parts. I'm sure it's fine, it's just that my initial reaction is I Should Be Concerned About This. What is to prevent someone from resetting the module into that mode and writing their own firmware for your hardware?

author: zapta
author_rank: Super Contributor
timestamp: July 11, 2015, 10:41:50 pm
content: Quote from: jnz on July 11, 2015, 10:02:08 pmThese devices have several protection modes. I never used them.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: July 11, 2015, 10:51:55 pm
content: Quote from: jnz on July 11, 2015, 10:02:08 pmWhy do you care about this? If they've bought your hardware, why would you care if they wrote their own firmware for it?

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 11, 2015, 11:22:52 pm
content: Quote from: Sal Ammoniac on July 11, 2015, 10:51:55 pmSupport/warranty issues?

author: nctnico
author_rank: Super Contributor
timestamp: July 12, 2015, 12:24:13 am
content: Quote from: jnz on July 11, 2015, 10:02:08 pmThere are firmware protection mechanisms in the LPC series from NXP. Nothing complex or requiring proprietary hardware. Just make sure a 'magic number' is at a certain address and it will protect the firmware (see the user manual). AFAIK the NXP Cortex series have various levels varying from disabling read to disabling flash erase/program through the bootloader entirely.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: July 12, 2015, 01:56:54 am
content: Quote from: mikeselectricstuff on July 11, 2015, 11:22:52 pmSimple--just disclaim the warranty if someone writes their own firmware, but don't go out of your way to make it difficult for someone to write their own.Linksys doesn't seem to mind people loading non-factory firmware on WRT routers.

author: Tandy
author_rank: Frequent Contributor
timestamp: July 12, 2015, 08:41:03 am
content: I guess the firmware issue depends a lot on the price and function of your product. If someone destroys their $30 router they probably won't try and send it back. On the other hand if it was some $200 box they might take it back to the retailer and claim it has a fault. Retailers don't have rigorous checks on returns, you are lucky if they try turning it on to see if the claims of not working are true. I am kind of divided on the issue because on the one hand I think if you buy something it should be yours to do what you like with including mess with the firmware. On the other hand manufacturers are expected to provide a warranty, but that shouldn't include problems caused by people futzing about with the innards.Personally I think a step such as having to desolder a link or something helps limit the number of clueless people downloading random firmware off the internet and bricking their product. It also means that there is a way to identify when someone has been tinkering with the innards.

author: poorchava
author_rank: Super Contributor
timestamp: July 12, 2015, 09:16:17 am
content: I think that ST is the best when it comes to entry level stuff. You can spend like 10-15 Euro and get a devoted which works with commercial IDEs and with free ones too. There are at least two free toolchains (CooCox and em::blocks) that work out of the box and have no limitations whatsoever. I think Freescale stuff might be just the same, but but I have never given them a serious try. It seems to me that if we compare parts on similar price level from Freescale and ST, STs parts offer higher performance and more memory.NXP doesn't seem friendly to a novice user. Especially in terms of hardware debuggers and free IDE support.Sent from my HTC One M8s using Tapatalk

author: zapta
author_rank: Super Contributor
timestamp: July 12, 2015, 03:08:49 pm
content: Quote from: poorchava on July 12, 2015, 09:16:17 amDo these toolchains support Linux and Mac OSX? If not, not a good choice for open source projects.Quote from: poorchava on July 12, 2015, 09:16:17 amLPCXpresso is a single package install of the entire toolchain and IDE, it runs on Linux, Mac OSX and Windows, and supports out of the box low cost evaluation boards with built in hardware debuggers.http://www.digikey.com/product-detail/en/OM13014,598/568-7517-ND/2700004

author: jimon
author_rank: Regular Contributor
timestamp: July 12, 2015, 03:52:35 pm
content: Quote from: zapta on July 12, 2015, 03:08:49 pmGCC ARM + OpenOCD = works everywhere, and you can add IDE_of_choise and build_system_of_choice

author: zapta
author_rank: Super Contributor
timestamp: July 12, 2015, 06:20:27 pm
content: Quote from: jimon on July 12, 2015, 03:52:35 pmYou recommended CooCox and em::blocks. Do they run on Linux and Mac OSX?One of the reasons I chose lpcxpresso is the easy of installation on all three major operating systems. A single package installs the toolchain, CPU specific libraries and IDE and they all work together out of the box. No more toolchain hassle, just like Arduino.

author: poorchava
author_rank: Super Contributor
timestamp: July 12, 2015, 09:24:39 pm
content: QuoteI don't care. People using OSX for hardware engineering (electronic, mechanic or whatever else) should already give up. All of the serious stuff runs on Windows, deal with it. I despise Apple anyway. As for Linux, they probably run ok under Wine.LpcExpresso is code limited. IIR OpenOCD doesn't support the debugger built into LPC boards because NXP refused to cooperate with OpenOCD crew and their communication protocl is crypto-secured or something.There is also Atmel and TI. Never had much experience with TI except for Stellaris Launchpad (the uC there was quite nice) but they seem rather expensive. Also, Cortex-M3 stuff was made by LuminaryMicro and is famous for herrific bugs.I've been dealing with Atmel SAM4S uC for the past year in my day job, and this uC has a handful of pretty horrific undocumented bugs. Also, the way they have adopted Visual Studio (which by itself is a really nice piece of software) for an embedded IDE sucks really bad.

author: zapta
author_rank: Super Contributor
timestamp: July 12, 2015, 11:10:00 pm
content: Quote from: poorchava on July 12, 2015, 09:24:39 pmMac OSX is very popular in the maker community so windows only tools and designs are less valuable for open source projects. For closed designed it's less important.As for lpcxpresso debugger, I got from digikey $20 Link 2 hardware debugger that works great out of the box with lpcxpresso.

author: jnz
author_rank: Frequent Contributor
timestamp: July 12, 2015, 11:32:07 pm
content: Quote from: zapta on July 12, 2015, 11:10:00 pmI won't say no one who uses Mac knows what they are doing of course, but at the same time... just stop making life hard on yourself and use windows like a professionalHe has a point that if you want to get work done, don't bother with trying to do embedded programming on a mac. If it's a fun-time hobby, yea, go for it if you want the extra hurdles I guess.

author: jnz
author_rank: Frequent Contributor
timestamp: July 12, 2015, 11:33:22 pm
content: Quote from: Sal Ammoniac on July 11, 2015, 10:51:55 pmI wanted to update on this. Besides what Tandy covered on fraud.I don't want my stupid competition to be able to start working on their clone, using my hardware as a fully-functional pre-made dev kit.

author: funkathustra
author_rank: Regular Contributor
timestamp: July 13, 2015, 12:37:29 am
content: Quote from: poorchava on July 12, 2015, 09:24:39 pmI love my MacBook Air, but I totally agree, and would never think to do any electronics work in OS X. Most of the commonly-used engineering tools (Altium / Dassault / AutoDesk / Altera / Xilinx / Microsemi / Keil / Microsoft) are Windows-only (with some emerging Linux support), so there's really no incentive for companies to invest in OS X workstations. There's some incentive to use Linux workstations, since many embedded projects are Linux-based. But I see near-zero reasons to support OS X.Similar to other Eclipse-based IDEs that have Linux and OS X support (like LPCXpresso and Code Composer Studio?), Freescale's Kinetis Design Studio is basically a port of CodeWarrior (which was a fork of Eclipse) to a vanilla Eclipse CDT system + plugins, so it's easier for them to maintain. An added bonus is that it was really easy to package up Linux and OS X versions of it, so they did. If that's not a trivial thing to do, they wouldn't do it, since no one uses OS X, and very few people use Linux in the embedded electronics world.If, for whatever reason, you're stuck on OS X, then Freescale Kinetis Design Studio and LPCXpresso are your only options, I believe.Quote from: poorchava on July 12, 2015, 09:24:39 pmLPCXpresso is code-size limited to something like 256k, which I've never ran into problems with. I don't mind it as an IDE, but, I mean, it's basically just Eclipse, so it's pretty familiar. Stay away from open-source ARM debuggers / OpenOCD. That stuff is absolute crap designed for people who are more interested in nerding out over toolchains than they are about actually getting stuff working.I have a desk drawer full of knock-off parallel-port programmers, JLink clones, OpenOCD ARM debuggers, and all sorts of crap. I want to puke whenever I think about how much time I spent trying to set that shit up. Since I'm a lot more experienced now, it probably wouldn't be so bad, but I would never, ever, ever recommend those sorts of tools to someone who's just getting his or her feet wet in this stuff. You should be writing LED blinky programs, not flash configuration files.Quote from: poorchava on July 12, 2015, 09:24:39 pmAtmel is complete garbage. Seriously. Everything they produce is overpriced and full of bugs. The Luminary Micro... err, TI... ARM parts are lovely, but way overpriced. I don't mind Code Composer Studio, though.Quote from: poorchava on July 12, 2015, 09:24:39 pmTotally agree. I use Visual Studio every day for WPF/ASP.NET C# / Win32 C++ development, and it's a very productive IDE, but the Visual Studio Shell that Atmel uses doesn't have any of the MS IntelliSense stuff -- to emulate that behavior, they have a crappy proprietary system that kinda-sorta tries, but fails miserably.

author: funkathustra
author_rank: Regular Contributor
timestamp: July 13, 2015, 01:33:21 am
content: Quote from: poorchava on July 12, 2015, 09:16:17 amComparing Freescale and ST is kind of a mixed bag.Freescale has really good low-quantity pricing across their entire portfolio (useful for hobbyists), and they generally have better analog -- especially in their lower-end stuff. ST's mid-range Cortex-M0 stuff is overall, probably a better bang for your buck than Freescale's, but there are a few exceptions.In the ultra-low-cost realm, it's hard to beat Freescale. The MKE04Z8 is less than 50 cents each in volume. But that MCU only has 8K of flash -- ST's lowest-end stuff starts at 32K (!!!), and is a tad cheaper than Freescale's equivalent 32K parts in quantity (though Freescale is cheaper in low-volume cost).Freescale, however, has really economical mid-range Cortex-M4 cores, so I end up using them in a lot of places where previously I could only afford an ST Cortex-M0 core. Compare Freescale's cheapest Cortex-M4-powered MK02FN64 part with ST's equivalent STM32F302K8. Freescale's part runs faster (100 MHz vs 72 MHz), has better analog (twelve channels of 16-bit ADCs, 16-bit DAC, two comparators), andcosts a fifth the price.However, in the ultra-high-end Cortex-M4 space, ST has a definite edge. Freescale's high-end K60 and K70 are formidable beasts. If you want to get to 150 MHz / 1 MB of flash, you'll be stuck with a BGA or a monster 144-pin QFP. ST chips can hit 168 MHz / 1 MB with a much more friendly 64-LQFP (that tends to run a little cheaper), and from there, you can zoom out to 180 MHz / 2 MB parts that Freescale doesn't even make.

author: poorchava
author_rank: Super Contributor
timestamp: July 13, 2015, 05:28:45 am
content: Quote from: funkathustra on July 13, 2015, 01:33:21 amNot true, the STM32F030 actually has 16k. I use those chips on regular basis for all the small things, but code memory is a bit tight.Quote from: funkathustra on July 13, 2015, 01:33:21 amHoly shit, it's about 1.6€ from Farnell. That's nice! Too bad that QFP version costs more than double that (WTF?!)Quote from: funkathustra on July 13, 2015, 01:33:21 amMK66FN2M is exactly that, 180MHz, 2MB

author: Muxr
author_rank: Super Contributor
timestamp: July 13, 2015, 06:08:20 am
content: OS X works just fine. For anything that doesn't work just use Virtualbox + Windows VM. You can passthrough USB ports, it's how I program FPGAs. It's really not an issue. It's the only thing I use Windows for. I use git so I just map the drive to my git project, and since I prefer the command line for using git, I do all that stuff in the OS X terminal.For everything else there are Unixy alternatives. MCU programming (AVR, esp8266 and STM32 toolchains), enclosure design, PCB design, Logic Analyser.. I use OS X natively.

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: July 15, 2015, 06:59:44 pm
content: Quote from: jnz on July 12, 2015, 11:33:22 pmI think the concerns that someone will use your hardware as a dev-kit for their own clone development is possible, but probably a little far-fetched. Spend your time making your product great and less time trying to make it unclonable and you'll probably do better in the market.I like Tandy's idea regarding loading non-factory FW. A solder link is a good idea that will eliminate 99% of those who would try to load alternate FW, but would still allow serious people to do it. I doubt the percentage of owners of a product that would load alternate FW on it would be more than a minuscule percentage of the total user base anyway. Joe Sixpack doesn't know what FW is, let alone have the skill or desire to replace it.