CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

My Story Is Just Beginning
Goto page Previous  1, 2
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
bkamen



Joined: 07 Jan 2004
Posts: 1615
Location: Central Illinois, USA

View user's profile Send private message

PostPosted: Wed Sep 16, 2020 11:08 am     Reply with quote

Welcome to the group.

It's a long journey - be prepared.

Even though others have said it - I'll just say it again in support of those who have:


Datasheets, Datasheets, Datasheets! Read them. Read as much as you can. Stop - take a break and read some more.

When you're done -- read them a couple more times.

Then download some more from different models (same company) and then maybe different architectures.

This biz is all about filling your head with as much as you can.

You may find you don't like the hardware level. Some people just want to write code.

I helped a friend who was essentially a Windows OS programmer learn to program for PICs and it was interesting to see him get frustrated over aspects he didn't have to deal with at the higher levels. Ultimately, he didn't like the hardware details. He just wanted to write code without worrying about registers and bit mappings. So... he doesn't program for MCUs anymore. That's ok.

Personally, I love the low level design. I also design FPGAs. I can tell you - people who can design FPGAs and then also write code for the MCU/CPU that's driving the FPGA all wrapped in a single person are hard to find. (I design specialized peripherals in the FPGA that don't exist in the real world to do data collection from sensors to some storage via a CPU)

Just be ready for compiler quirks and issues. No compiler is perfect. Sometimes (especially with new devices) you might find a register isn't being set properly.

If you like PIC MCUs, get cozy with the instruction set. It's good to know. I've seen PIC compilers do things poorly or outright wrong. (wanna hear me rant? Ask me about the early days of Microchip's XC8 compiler and the trash it would generate in the form of a .HEX file. Ugh!)


I also like/use RealTerm (and PuTTY for network connected devices and sometimes serial terminals.)

Cheers,

- Ben
_________________
Dazed and confused? I don't think so. Just "plain lost" will do. :D
Ttelmah



Joined: 11 Mar 2010
Posts: 19546

View user's profile Send private message

PostPosted: Wed Sep 16, 2020 12:38 pm     Reply with quote

It's worth saying that a pre-built development board is a really useful starting
point. There are boards out there with things like a serial connection, and
a LCD, and you have the huge advantage of having hardware that is 'known',
and is likely to actually work. Something like the Microchip Explorer 8 for
example, or the CCS Rapid 18 (This has USB rather than serial). These also
have the ICD connector, so with a USB programmer, you can do things like
single step the processor. Though not 'perfect', being able to take things at a
slow rate like this can be quite useful.

Be prepared for how much harder hardware actually is, than it looks as if
it should be. As soon as you start actually 'doing' things with a processor,
you run into the problems of ensuring a good ground, good PSU, and
interference between things.
dluu13



Joined: 28 Sep 2018
Posts: 395
Location: Toronto, ON

View user's profile Send private message Visit poster's website

PostPosted: Wed Sep 16, 2020 3:01 pm     Reply with quote

Ttelmah wrote:

Be prepared for how much harder hardware actually is, than it looks as if
it should be. As soon as you start actually 'doing' things with a processor,
you run into the problems of ensuring a good ground, good PSU, and
interference between things.

The very first problem I was put on at this company, I solved with a knife to the circuit board. It definitely isn't all about coding :P

Have fun!
Ttelmah



Joined: 11 Mar 2010
Posts: 19546

View user's profile Send private message

PostPosted: Thu Sep 17, 2020 1:14 am     Reply with quote

Why do I find myself with a mental picture of an engineer with a large Bowie
knife.... Very Happy
newguy



Joined: 24 Jun 2004
Posts: 1909

View user's profile Send private message

PostPosted: Thu Sep 17, 2020 5:59 am     Reply with quote

...That's not an X-Acto knife...

...This is an X-Acto knife!
AESPOSITO



Joined: 28 Jul 2020
Posts: 4
Location: Arizona

View user's profile Send private message Visit poster's website

To MCUprogrammer
PostPosted: Thu Sep 17, 2020 1:59 pm     Reply with quote

Good comments in this forum.
To start, get a development board, something simple with
serial UART connection you can connect to a PC with a USB to 232.

Start with small projects to test peripherals.
App notes are helpful, but build your own function and
create a library of files you can use in any project.
Build on top of each to create more complex functions.

You learn by doing. You learn from real applications.
You will find that serial communications routines will often
be the largest sections of code that you create.

As reference, I began coding in 1970 and began embedded
coding later in the 1970's on 4 bit processors with very little memory
so that I had to be very efficient.

Lessons Learned;

Avoid floating point math as that creates problems if used
in any real-life physical or power control systems.

Learn to convert algorithms to integer functions and polynomials.
Your peripherals only understand bits & bytes, not floating point values.

Write modular code, but do not over-nest else problems with
stack and page memory occurs.

Good Luck !






Very Happy
_________________
A Esposito, CEO
Avatar Engineering Corp.
Ttelmah



Joined: 11 Mar 2010
Posts: 19546

View user's profile Send private message

PostPosted: Fri Sep 18, 2020 1:17 am     Reply with quote

Sensible comments. Especially on FP maths!.. Smile
temtronic



Joined: 01 Jul 2010
Posts: 9245
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Fri Sep 18, 2020 5:04 am     Reply with quote

re: the 1970's on 4 bit processors

yeesh, I've got some Intel 8008 CPUs on cards here.....
why ? I don't know...sad thing is they'd probably still run !! Smile
Ttelmah



Joined: 11 Mar 2010
Posts: 19546

View user's profile Send private message

PostPosted: Fri Sep 18, 2020 11:19 am     Reply with quote

I've still got a board with a 4004....

8008's. Modern rubbish!... Smile
temtronic



Joined: 01 Jul 2010
Posts: 9245
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Fri Sep 18, 2020 3:30 pm     Reply with quote

Sad thing is I still have 4004 datasheet/programming books....
things were a LOT simpler back then...sigh
avatarengineer



Joined: 13 May 2013
Posts: 51
Location: Arizona

View user's profile Send private message Visit poster's website

4 Bitters
PostPosted: Fri Sep 18, 2020 4:04 pm     Reply with quote

Sheesh ! 4004, 8008, Dinosaurs !

in 1978/79, I was 1 of 3 guys at Mattel Toys that created the
hand held electronic games.

The only processors were PMOS and NMOS and they ate batteries.
National COPS-1 (PMOS) was typical 4 bit used because you could run it on a 9V battery and ran at a screaming 400KHz! (-2 was NMOS).

Also used the TI TMS1000 with a whooping 1KB of ROM !!!

With just a few dozen RAM bytes and slightly more ROM,
the goal was to scan keypad switches, light a few LEDs, and drive
a piezo beeper.
Very little I/O so multiplex everything.

Programming was punching in opcodes(hex) into an emulator about the
size of a desk.

You develop much discipline in your firmware.
Minimum build 5 million units produced in the Philipines.
No screwups on hardware or firmware (OTPs) design or scrap cost is enormous !!!
Shocked
temtronic



Joined: 01 Jul 2010
Posts: 9245
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Sat Sep 19, 2020 4:48 am     Reply with quote

OK, I have to ask .. did anyone spend 'benchtime' with the Motorola ONE bit processor ? I remember it had 16 instructions, so easy to learn, especially when two of them were NOPs ! (0x0 and 0xF) as I recall...
I went down a road of many forks.. PDP8, LSI11,6800,6809, 68HC11, 1802,Z80 then 'deadended' with PICs.
Jay
dyeatman



Joined: 06 Sep 2003
Posts: 1934
Location: Norman, OK

View user's profile Send private message

PostPosted: Sat Sep 19, 2020 5:08 am     Reply with quote

I learned Fortran WatFOR on the IBM360-30 using punch cards, designed custom systems with the DEC PDP8, PDP11 and LSI11 using discrete Augat wire wrap panels to build interfaces and, in my spare time, played around with the Motorola MikBug 6800 and 6809.
_________________
Google and Forum Search are some of your best tools!!!!
Ttelmah



Joined: 11 Mar 2010
Posts: 19546

View user's profile Send private message

PostPosted: Sat Sep 19, 2020 11:30 am     Reply with quote

I remember doing one university course, The university had an Atlas.
I had my own system built using the then brand new 68000. The run time
for code was lower on my 'home computer', than on the university one.
(Late 1970's). I managed to interface a second hand daisywheel, and
had a second hand DF32 drive.
Given the 32bit architecture of the 68000, and the Z8000 a little later, it
was quite annoying when the PC began using the 8008 Intel chips... Sad
MCUprogrammer



Joined: 08 Sep 2020
Posts: 221

View user's profile Send private message

PostPosted: Tue Nov 03, 2020 2:01 am     Reply with quote

Thanks to everyone. I have completed the 1 month C course. And now I'm on the field. You can know everything that explodes and breaks from me. I will give a lot of spirituality to learn. : D But most of all
I will do it calmly, intelligently, and with my logic. I will start step by step without getting bored. I already got my first job. I'm starting. He has a lot to learn from you. Goodbye
_________________
Best Regards...
MCUprogrammer
_______________________________
Work Hard
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group