Author Topic: Looking for a way forward with Microcontrollers/Microprocessors  (Read 21216 times)

0 Members and 1 Guest are viewing this topic.

Offline mtdoc

  • Super Contributor
  • ***
  • Posts: 3575
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #50 on: January 21, 2015, 05:47:13 am »
I'm looking forward to what the EdX course teaches me, it starts tomorrow :)

The first few lessons will be pretty rudimentary if you have previous programming experience but it picks up the pace and gets into ARM specifics pretty quickly as I recall.  I think this time round they are releasing lessons in larger blocks so you should be able to jump ahead to where it suits your level. If you want a grade you'll have to go through each lesson and run each of your programs through the nifty grader they have built into Keil.

I'm looking forward to jumping back in where I left off last year.
 

Offline pmurray4Topic starter

  • Contributor
  • Posts: 25
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #51 on: January 21, 2015, 05:54:42 am »
is it live lectures or do I get to watch them and work through them when it's suitable for me? I've never done one of these courses before.
 

Offline mtdoc

  • Super Contributor
  • ***
  • Posts: 3575
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #52 on: January 21, 2015, 05:57:16 am »
Lectures are released as videos (youtube I believe) that you can watch at your convenience. 
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #53 on: January 21, 2015, 07:50:21 pm »
About the edx course. I did register for this as well
FYI for anybody registered, the Launchpad they recommend for this course is the EK-LM4F120XL (Stellaris) or the EK-TM4C123GXL (Tiva) not the original Launchpad which is not ARM based.

If you don't want to buy the kit you can still use Keil uVision and complete the course via simulations as they state in their FAQ.

But if you plan to do the labs and don't have the kit yet, you can still use the simulation and they think that as long as you get your kit by March 1st you'll be fine.

I ordered the material from digikey because element 14 didn't show the Tiva Launchpad in stock, but you can always get the dev board from TI.

I'm linking the FAQ:
http://users.ece.utexas.edu/~valvano/edX/faq.html

There is a textbook available via amazon but it's not required.

Also there is an optional purchase of an LCD display (Nokia 5110) which will set you $10 back on top of the kit.
 
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #54 on: January 21, 2015, 08:18:06 pm »
This course deserves a thread of its own if we don't have one already.
 

Offline ElektroQuark

  • Supporter
  • ****
  • Posts: 1244
  • Country: es
    • ElektroQuark
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #55 on: January 21, 2015, 08:26:43 pm »
I'm in too.
It's highly recommended so  I will try to find the necesary time.

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #56 on: January 22, 2015, 04:23:11 am »
About the edx course.

...

If you don't want to buy the kit you can still use Keil uVision and complete the course via simulations as they state in their FAQ.


After looking at their introduction videos seems like that FAQ applied to the previous offer of the class, because you can't get a certificate (if that matters to you, and I think it costs $50 to upgrade to the certified class) if you don't do the actual hardware labs.
 

Offline jerry507

  • Regular Contributor
  • *
  • Posts: 247
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #57 on: January 22, 2015, 04:44:59 am »
I steer clear of any vendor that supplies an Eclipse based IDE. I think they all stink because of an over complicated and unintuitive user interface from Eclipse. The PIC24 is actually a pretty decent micro as others have said and MplabX is certainly better than Eclipse based offerings.

NXP offers the LPCxpresso (http://www.lpcware.com/lpcxpresso) and it's pretty acceptable. Plenty of cheap dev boards around and the LPCopen libraries are quality. Full disclosure though, I use NXP professionally so I may be biased towards them out of familiarity.
 

Offline pmurray4Topic starter

  • Contributor
  • Posts: 25
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #58 on: January 22, 2015, 05:44:38 am »
I started the edX course, kinda got carried away and did 2 weeks worth of activity in the past 6 hours, completed 4 out of the 7 available chapters already. The simulation seems to work quite well too :)

jerry507: I felt uncomfortable using Eclipse when I was trying to learn Java and would assume the uneasy feeling will be the same on any development tool based on it (or is it just Java that does that). I had a play with LPCxpresso the other night to complete zapta's challenge (though I think I had trouble finding the correct output directories) it did seem quite well done overall. The code space limit thingy irks me somewhat, I'm probably just uncomfortable with pay-based software restrictions :) Until I actually start doing real coding I won't know for certain if it would be a real problem.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #59 on: January 22, 2015, 06:09:29 am »
I had a play with LPCxpresso the other night to complete zapta's challenge (though I think I had trouble finding the correct output directories).

The output files are placed under build configuration directories such as Debug or Release. I am using Debug only for everything. You can delete the entire Debug directory and it will be recreated on next build. I also set git to ignore the Debug directory so it is not persisted in the the git repository. The ARM PRO MINI documentation contains an  explanation on how to set Eclipse to build and download the .bin file with one click.

I switched to eclipse from Intellij and Slick Edit a few years ago. Over the years I sampled Eclipse once in a while and switched to Eclipse when it was good enough. Now it's is my favorite IDE and is also by far the most popular IDE at the office.
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #60 on: January 22, 2015, 09:12:37 am »
I started the edX course, kinda got carried away and did 2 weeks worth of activity in the past 6 hours, completed 4 out of the 7 available chapters already. The simulation seems to work quite well too :)

jerry507: I felt uncomfortable using Eclipse when I was trying to learn Java and would assume the uneasy feeling will be the same on any development tool based on it (or is it just Java that does that). I had a play with LPCxpresso the other night to complete zapta's challenge (though I think I had trouble finding the correct output directories) it did seem quite well done overall. The code space limit thingy irks me somewhat, I'm probably just uncomfortable with pay-based software restrictions :) Until I actually start doing real coding I won't know for certain if it would be a real problem.

I stopped at Lab 2 because I don't have the kit yet and it's due to be here tomorrow, I have an older MSP430 Launchpad and other Arm dev kits but I rather wait.
I could have skipped most of the course so far but I went through it all including reading the datasheet of the TM4C123GH6, and the optional assembly section.

So far 4 hours spent, as for my feedback on the course, it does cover the right bases, as in numbering systems that even if they are 2nd nature to me I can see why it would be important to someone starting up, so they are not rushing things at all, and they are covering the bases right. They even talk about MCU architectures, there are a couple of slip offs but nothing serious so far.

Also there were some quiz questions not covered in the video and interactive coursware, as in what power is and other minor things that are kind of common sense (to me at least), so maybe reading the extra material (which I didn't other than the datasheet) might help others.

BTW the TM4C123GH6 is a Cortex-M4 and pretty loaded! So far I'm liking this course.

Also, I wouldn't rush through it too quick, C2 including Lab 2 is suggested to be done by the 30th (8 days away), C4 where you are at is suggested to be done by Feb 6th.

Nothing wrong getting ahead, but if you reach C7 in one more day, you will have to wait until February 1st for the next batch, and C15 wont be ready until March 1st, so leaving you big gaps that might affect your midterm and finals (edit: which this course might not have so never mind).

« Last Edit: January 22, 2015, 09:16:48 am by miguelvp »
 

Online westfw

  • Super Contributor
  • ***
  • Posts: 4192
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #61 on: January 22, 2015, 09:21:01 am »
TI's "Code Composer Studio" is Eclipse-based, isn't it?  I tried it a couple of times back the last time the EdX class was offered, and was moderately impressed with the way TI had simplified the basic view, compared to ADT (also Eclipse), Atmel Studio (VS), or Keil.
I don't know whether it's good or bad that Eclipse seems to be so wildly configurable :-(  (LPCXpresso (formerly "Code Red") is also built on top of Eclipse.)
(It's an interesting state of affairs when the most successful IDEs seem to be the ones that have done more SIMPLIFICATION rather than adding features...)

TI CCS is one of the more reasonably priced "supported" IDEs (though presumably, only for TI chips.  It's ... particularly annoying to contemplate a single-vendor IDE (and libraries) if you've picked ARM partially because of the many vendors.  My command-line tool knowledge remains useful!)
 

Online westfw

  • Super Contributor
  • ***
  • Posts: 4192
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #62 on: January 22, 2015, 09:25:57 am »
Quote
got carried away and did 2 weeks worth of activity in the past 6 hours,
It's worthwhile (IMO) to stay "in sync" with the class enough that reading the forums make sense.
And it is useful/educational to read the forums.
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #63 on: January 22, 2015, 09:30:27 am »
FWIW this course is based on uVision Keil and on their videos they did show the limited 32 KB version, which I think it also has debugging limitations as in you can't check the MCUs registers, flags or debug in assembly, not sure if that carries to C debugging yet.
 

Online westfw

  • Super Contributor
  • ***
  • Posts: 4192
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #64 on: January 22, 2015, 10:08:14 am »
When I took the class last time, I was able to use debugging at both C and single instruction levels.
I don't recall whether there was register-level debugging; I don't think I had cause to use it.

The class uses both the simulator and live hardware, and has a some "special" version of Keil (I'm not sure how it compares)
There are ADDITIONAL debugging (and "grading") add-ons...


 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5313
  • Country: gb
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #65 on: January 22, 2015, 04:13:10 pm »
TI's "Code Composer Studio" is Eclipse-based, isn't it?  I tried it a couple of times back the last time the EdX class was offered, and was moderately impressed with the way TI had simplified the basic view, compared to ADT (also Eclipse), Atmel Studio (VS), or Keil.
I don't know whether it's good or bad that Eclipse seems to be so wildly configurable :-(  (LPCXpresso (formerly "Code Red") is also built on top of Eclipse.)
(It's an interesting state of affairs when the most successful IDEs seem to be the ones that have done more SIMPLIFICATION rather than adding features...)

TI CCS is one of the more reasonably priced "supported" IDEs (though presumably, only for TI chips.  It's ... particularly annoying to contemplate a single-vendor IDE (and libraries) if you've picked ARM partially because of the many vendors.  My command-line tool knowledge remains useful!)

The TI CCS toolchain doesn't cost a penny if you use the integrated debuggers on their dev boards or one of the XDS100 external debugger versions.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #66 on: January 22, 2015, 04:20:09 pm »
Quote
in you can't check the MCUs registers, flags or debug in assembly

Open up the disassembly window and step through instructions in it.
================================
https://dannyelectronics.wordpress.com/
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5313
  • Country: gb
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #67 on: January 22, 2015, 11:42:05 pm »
Possibly the worst thing about Eclipse is the menu system, finding what you want is sometimes a chore. For example I always seem to have a short delay interrupting my workflow searching for the Watch window. I feel there are far too many menus items and often meaningless icons in your face making navigation a chore.

I am sure I will be told there's a way to customise it, thing is I'd rather not spend hours putting lipstick on an elephant.

LPCxpresso, another Eclipse IDE, has all sorts of nuances, for example you shouldn't use Eclipse's debug menu item and icon, you should use NXP's. Occasionally LPcxpresso's icons go missing only to reappear for no apparent reason. When you're switching between TI's CCS (also Eclipse) and LPCxpresso it's a chore. More generally, I'd say that TI's CCS edit-compile-debug cycle feels far more natural than NXP's LPCxpresso. The downside of TI's CCS is the way libraries and project items are copied or linked, that in itself is no at all self-explanatory due to the complexity of the environment. My preference os TI's CCS, but most of my work is on LPCxpresso, on LPC43xx, I've learned to just work around the LPCxpresso irritations. Just my opinion, of course!
 

Offline pmurray4Topic starter

  • Contributor
  • Posts: 25
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #68 on: January 24, 2015, 10:25:41 am »
I just read through the specs for the LPC11U35FHI33 because I was worried about what kind of programmer it needs and realized that it has a built in bootloader that pretends to be a USB drive, that's amazing! and very convenient :) no wonder you went with those chips zapta. is this common or NXP specific?

I do have another question somewhat related to my original question for this thread. What programming language/suite is suggested for writing front-end software on Windows? Now I'm on my way with ARM, I need a way to interface with it on my computer. I currently use Delphi 7 though I struggle to attain efficient/reliable UART communications. I considered learning Java mainly for the multi-platform ability but I hear it's a huge pain to do any interfacing with microcontrollers due to each platform having it's own requirements.
 

Offline AndreasF

  • Frequent Contributor
  • **
  • Posts: 251
  • Country: gb
    • mind-dump.net
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #69 on: January 24, 2015, 12:27:30 pm »
... I considered learning Java mainly for the multi-platform ability but I hear it's a huge pain to do any interfacing with microcontrollers due to each platform having it's own requirements.

On Windows, I would consider C# with Visual Studio Express, though admittedly the last time I used it to get serial data into a UI was a long time with an actual "COM" serial port, not a USB virtual port. No idea if that makes a difference.
my random ramblings mind-dump.net
 

Offline ehughes

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #70 on: January 24, 2015, 02:08:58 pm »
Quote
is this common or NXP specific?

Not all of the controllers do it.

The LPC134x has a MSC bootloader as well as the 154x series.

Most of the other ones have at a minimum a UART bootloader.     Many also have a USB DFU boot loader.   The high end LPC43xx have a couple other options.

I *Really* like NXP as they seem to get it right and embedded boot loaders into all their chips.  It makes production and field support mucfh easier.  I refuse to use any chip that doesn't have a ROM bootloader.   In this day and age, it is simply a must.

I highly recommend you spend $20-$30 and get an LPCxpresso board.    It has the JTAG/SWD dubgger built in and you will be able breakpoint, inspect variables, etc


The Arduino "load and see what happens" is so primitive.     Use the debugger... It makes your life easier.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #71 on: January 24, 2015, 04:02:46 pm »
I just read through the specs for the LPC11U35FHI33 because I was worried about what kind of programmer it needs and realized that it has a built in bootloader that pretends to be a USB drive, that's amazing! and very convenient :) no wonder you went with those chips zapta. is this common or NXP specific?

I do have another question somewhat related to my original question for this thread. What programming language/suite is suggested for writing front-end software on Windows? Now I'm on my way with ARM, I need a way to interface with it on my computer. I currently use Delphi 7 though I struggle to attain efficient/reliable UART communications. I considered learning Java mainly for the multi-platform ability but I hear it's a huge pain to do any interfacing with microcontrollers due to each platform having it's own requirements.

Yes, the file drag and drop USB/ISP was one of the attractions of LPC11U35. It simplifies in-field firmware upgrade by end users (works on all three OSs without having to install software).  It also has serial bootloader (selected by the PIO0_3 input) but I never used it. Another advantage of the USB bootloader is that you can use parts of the USB stack there to reduce the code size of your program. This is what the ARM PRO MINI serial_usb library does.

The arm_pro_min_lib project comes with a shell script that can be installed as a lpcxpresso external tool. When you click on it's icon it builds the project and copy the .bin to the board. This is how I do my write/download/run cycles.

https://github.com/zapta/arm/blob/master/pro-mini/lpcxpresso/arm_pro_mini_lib/tools/copy_bin_to_usb_isp.sh

I also have a LINK hardware debugger (http://www.digikey.com/short/7zbr3m). It is supported by lpcxpresso and the ARM PRO MINI does have a SWD header but it's not as useful as I thought. 99% of the time I just debug without a debugger. It's simpler this way. I found that a LED, printf statements and an oscilloscope are more useful for debugging.

The mbed environment is also intriguing. I wrote a small blinky for the ARM PRO MINI but would like to explore more its libraries and third party projects.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #72 on: January 24, 2015, 04:24:40 pm »
Quote
I refuse to use any chip that doesn't have a ROM bootloader.   In this day and age, it is simply a must.

Quote
The Arduino "load and see what happens" is so primitive.     Use the debugger... It makes your life easier.

They are not terribly consistent.
================================
https://dannyelectronics.wordpress.com/
 

Offline pmurray4Topic starter

  • Contributor
  • Posts: 25
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #73 on: January 24, 2015, 05:54:13 pm »
Andreasf: I've not used a real com port in well over 6 years, I use FTDI mainly these days. I tried the FTDI DLL method in Delphi but I feel I'm going about parsing the input in a wrong way. I will look into C#, I used it at college, but they only had us doing simple stuff like adding numbers on screen.

Concerning debugging, I mainly used LED and printf outputs in some of my previous systems. I used the CCS compiler within MPLAB and I could never get the debugging to work the traditional way with it.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6189
  • Country: us
Re: Looking for a way forward with Microcontrollers/Microprocessors
« Reply #74 on: January 24, 2015, 06:05:30 pm »
I do have another question somewhat related to my original question for this thread. What programming language/suite is suggested for writing front-end software on Windows? Now I'm on my way with ARM, I need a way to interface with it on my computer. I currently use Delphi 7 though I struggle to attain efficient/reliable UART communications. I considered learning Java mainly for the multi-platform ability but I hear it's a huge pain to do any interfacing with microcontrollers due to each platform having it's own requirements.

Java is an excellent choice in general, it can be developed an run on all three OSs. However, before you start check the serial port support in Java. I looked at it several years ago but could not find a portable solution, things may changed though. Those virtual serial ports should look like any other serial port so I don't think you need anything special.

If Windows along is good with you than one of Microsoft supported languages may be a good choice but Windows only apps have lower value IMO.

Other people reported good cross platform results with QT. You may want to search here.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf