| Author |
Message |
|
|
Posted: May 26, 2012 - 02:57 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
Hi Everybody. as topic states im new to Atmel and need ur assistance for products selection. I dont have any problems with Cortex-M3 MCU.. I dont have any problem with any MCU in fact:P The only problem i have i just dont know which one to choose:) Im from Azerbaijan. MCU isnt very popular here. I have a task to make tutorial series on MCU C programming and applications on my Website. Have been working with PIC18F series for a while and have general grip of MCU. Moved to ATMEL because its cheaper and compiler is totally free. Im trying to create a new inexpensive easy to DIY dev board and conduct my tutorials on it. Could u please help me to choose a device? My requirements are as follows:
1. At least 16 bit FLASH MCU
2. As much I/O ports as possible
3. USB built in..
4. UART
5. I2C
6. in circuit programming
7. EEPROM
8. Books available for referencing
9. not necessarily but would be cool to have Qtouch capabilities:)
The board is going to host power supply module, motor driver, Special connector for Xbee, Servo ports. A general purpose pick and play dev board. Im also designing a PC Software for board controlling via USB.
Waiting forward for any suggestions.
Thanx for ur attention and sorry for weak English:)  |
|
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 04:05 AM |
|


Joined: Sep 04, 2002
Posts: 21390
Location: Orlando Florida
|
|
|
Sciencefiction68 wrote:
My requirements are as follows:
1. At least 16 bit FLASH MCU
2. As much I/O ports as possible
3. USB built in..
4. UART
5. I2C
6. in circuit programming
7. EEPROM
8. Books available for referencing
9. not necessarily but would be cool to have Qtouch capabilities:)
1)All AVRs have 8 bit data, but 16 bit instructions
2)ATmega2560 has 51 IOs (see xls file on Atmel web site)
3)Many ATmegas with a U in the part number have USB
4)There are ATmega AVRs with 1,2,and 4 uarts (See xls file on Atmel web site)
5)Atmel calls I2C TWI because of some legal flap. All AVRs have TWI
6)All AVRs have ISP
7)All AVRs have eeprom
8)All AVRs have excellent complete datasheets for referenceing
9)I 'think' qtouch is a software library, but someone else can explain this better. |
_________________ Imagecraft compiler user
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 08:31 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
| Darned I have to swear now, Smiley will be happy...Arduino... |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 03:26 PM |
|

Joined: Oct 05, 2006
Posts: 2297
Location: Poland
|
|
|
Sciencefiction68 wrote:
I dont have any problems with Cortex-M3 MCU..
Welcome! I think you are the only freak in here who knows ARMs CM and have no idea about AVRs.
Sciencefiction68 wrote:
Have been working with PIC18F series(..)Moved to ATMEL because its cheaper and compiler is totally free.
You mean avr-gcc is open-source and free, but it is not Atmel's product!
Is it a remark about tools, dongles or the chips actually?
http://www.microchip.com/stellent/idcpl ... e=en010014
Microchip wrote:
The Standard-Eval Version is free! (..) After 60 days, the optimizations (..) will be disabled. Code compiled after the expiration date will function but may occupy more memory space.
Sciencefiction68 wrote:
1. At least 16 bit FLASH MCU
There is nothing 16-bit in AVRs.
EDIT: Oh, wait, some of them have a 16-bit timer. |
_________________ No RSTDISBL, no fun!
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 06:30 PM |
|


Joined: Mar 27, 2002
Posts: 18749
Location: Lund, Sweden
|
|
|
Quote:
There is nothing 16-bit in AVRs.
As has been said above, instructions are 16 bits wide. This suggests that the flash memory bus might very well be 16 bits wide. Not that it would matter much..
Quote:
At least 16 bit FLASH MCU
It would be illuminating to understand the underlying reasons for this requirement.
If there is an absolute requirement that e.g. the processor registers are 16 bits then all 8-bit AVRs are out. Not sure about the XMegas - never bothered about those. In my world the jump up from AVRs are to ARMs - the Cortex families seems to be the future. |
|
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 06:39 PM |
|

Joined: May 26, 2012
Posts: 15
|
|
Thanx everybody for reply:)
I actually wrote the same text to ARM community. Just forgot to change that ARM Cortex stuff:D It would be nicer to have one community for all instead of dividing it:)BTW ARM guys haven't replied yet:) AVR has faster support:P Who cares if Gcc is atmels product or not! Personally i dont cos its just doing its job well which is to compile C data to hex for ATMEL:). And why the hek my code should occupy more space and should not be optimized? Its kinda frustration for a beginner:) BTW loved the design of Atmel Studios Visual Studio layout. PICs have 16 bit MCU i thought maybe Atmel have eather. I have question. Why 32 bit MCU s doesnt have EEPROM? the same was with PIC. They also doesnt have EEPROM. |
|
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 07:51 PM |
|


Joined: Mar 27, 2002
Posts: 18749
Location: Lund, Sweden
|
|
|
Quote:
And why the hek my code should occupy more space and should not be optimized?Smile Its kinda frustration for a beginner
Because the programmers that did that compiler and IDE wants to be paid for their work. Face it, evaluation versions and restricted/hampered free versions of software are there for
EITHER to be a bait to buy the real stuff
OR to somewhat hold off the competition from open source ("free") software
OR as a possible investment in the future (e.g as in "if students use Visual Studio Express now they will i) be more likely to go on the C#/.NET track, and less likely to go down the Java track, and will create real business for Microsoft in the future").
Users of "free" open source software pay too. E.g. with their time, since support is likely slower and less to the point. Some also actually pay back by joining the contributing community - e.g. submitting bug fixes, or writing documentation.
There is no such thing as a free lunch.
Quote:
Why 32 bit MCU s doesnt have EEPROM?
Is this true for all 32-bit MCU's? |
|
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 08:46 PM |
|


Joined: Dec 06, 2007
Posts: 2512
Location: Redmond, WA USA
|
|
|
Brutte wrote:
Welcome! I think you are the only freak in here who knows ARMs CM and have no idea about AVRs.
That makes two of us, I was coming from ARM too. Also PIC/PIC32.
JohanEkdahl wrote:
As has been said above, instructions are 16 bits wide. This suggests that the flash memory bus might very well be 16 bits wide. Not that it would matter much.
It would be nice to know the details of that, just for the sake of curiosity. |
_________________ Larry
Those afraid to embrace the future will quickly fade into the past. - larryvc
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 08:56 PM |
|

Joined: May 26, 2012
Posts: 15
|
|
Thanx for explanation I knew somebody is going to say that:) Of course i know there is not any totally "free" stuff in this world. We all are paying somehow to somebody for something. But its too expensive for a student. As i said MCu isnt popular in my country (among hobbyists and students) . People whom im trying to "teach" MCU, students and hobbyist in my country would never pay more than 50$ to something which is not commonly known and popular well documented and fully understood by community. I didnt paid either. my task is to bring a totally new product to local community and say "hey guys look its a cool stuff! U dont have to be a professor or a genius to make a simple robot or even more complex devices... Everybody can do it!" As a new product in the market it must be as cool as possible + as cheap as possible. Even free! Im not professional in this field but somebody has to do that! Our guys (and girls of course ) are really smart. they just need some guidenes to knowledge. show them a paths and they'll start digging in!
Have been looking for 32bit Atmel MCU with EEPROM for allmost 3 days but couldn't find it so far. Does anybody knows any with EEPROM??
Ill design a main board with a brain (MCU) and power management module. and extra pick and play modules as peripheral devices. Do i need EEPROM at all? how do u thing? can u imagine Arduino having a brain with no EEPROM? |
|
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 09:05 PM |
|


Joined: Mar 27, 2002
Posts: 18749
Location: Lund, Sweden
|
|
|
Quote:
would never pay more than 50$ [...] my task is to bring a totally new product to local business and say "hey guys look its a cool stuff! U dont have to be a professor or a genius to make a simple robot or even more complex devices... Everybody can do it!" As a new product in the market it must be as cool as possible + as cheap as possible. Even free!
Apart from the "totally new" I'd say that the Arduino looks like it fits the bill almost perfectly.
It has the "not a professor or a genius" attribute. Development software at no monetary cost. Hardware: A Arduino Uno "base board" is about €20.
I still don't understand your 16-bit requirement. Even less so when you have explained that it is for entry level or hobbyist work with e.g. robots. |
|
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 09:22 PM |
|

Joined: May 26, 2012
Posts: 15
|
|
so reasons why i dont want to use Arduino...
1. You have to stick to particular types of MCU which are on arduino models
2. arduino has its own "programming language" which is actually C but lilbit edited and simplified. its easier to learn but once u want to design something ur own u got stuck cos u dont know anything about any other MCU and other compiler code structures. it happened to me when i was using PICAXE. it was my friends one. i borrowed it for a week, worked day and night do get used to it and when i returned it back i left with nothing...
3. I dont thing there is any single arduino board in my country in any shop:D i have already been in almost all of them:P
4. i want to design my own board  |
|
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 09:47 PM |
|


Joined: Mar 27, 2002
Posts: 18749
Location: Lund, Sweden
|
|
1. If you are designing a board on your own you are also "stuck with a particular MCU".
2a. The programming language of the Arduino software is C++.
2b. You can use avr-gcc to write a program, in C, that you can flash to an Arduino board. All that is needed in hardware is an Arduino board and an USB cable.
3. Is your country isolated from the rest of the world? (Where on earth did that international broadcast today then come from? ). Are AVRs generally available then? You won't have to import those? (Especially since you seem to have a desire to cover many models.)
4. THAT is a good reason!
I still don't understand your 16-bit requirement. And it rules out all 8-bit AVRs so wy are we even continuing this discussion?  |
|
|
| |
|
|
|
|
|
Posted: May 26, 2012 - 11:05 PM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
|
Quote:
ur own u got stuck cos u
Please, if at all possible, TRY and use your best English even though I understand it is not your first language. It makes us think we are dealing with a mature adult when people don't use short cut speak.
It's not my 1st language either or that of many helping here but we try our best.  |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 28, 2012 - 09:05 PM |
|

Joined: May 26, 2012
Posts: 15
|
|
Sorry for late reply guys:)
okay js:) Im sorry about that. Just got used to using shorter words. Im from Azerbaijan. And no Thanks to GOD we are not isolated. Its just youth not being introduced to embedded systems. We dont have this course in our universities. And "Wow that must be very difficult, i better keep away from that" way of thinking...I didnt even knew about MCU even thou i have been interested in electronics for couple of years then before going abroad for studying. Just saw a PIC on a shelve in one of shops in Malaysia and just out of curiosity started digging in details. The shopper reacted in the same way:D Were u isolated or what? In our electronic shops we only have products are used by repair stations mainly TV parts, power electronics. Special parts like MCU are being ordered by people who need it like a few electronic hobbyists or some industries. The project in my mind is more a boot and PC software (or IDE if you wish:)) than a standard board. You see, every part in my design is interchangeable including brain itself as long as it meets my designs requirements (which are not so much) The IDE im working on is more advanced and a lot more easier for beginners to learn. U can even create very complex systems with 0 line of coding:) All i need to have is a starter version. I came up with 2 choices..
1. ATXmega128A1U http://www.atmel.com/devices/ATXMEGA128A1U.aspx
8/16 bit with EEPROM
100 pin
max i/o 78 pin super:)
UART 2 (Would be better to have more:))
TWI 1 (Would be better to have more:))
PicoPower excellent feature
PWM modules 24 good!
Externel Bus Interface 1
Temp sensor kinda useless but still cool:P
2. AVR SAM3X8E http://www.atmel.com/devices/SAM3X8E.aspx?tab=parameters
32bit Cortex M3 (sounds cooler:P ) but no EEPROM
100 pin
i/0 pins 60 still okay:)
UART 5 nice!
TWI 2 better:)
PWM 8 its okay...
Externel Bus Interface 1
ethernet
Can work as USB host
and many more extra connectivity functions:)
Honestly i liked Second one since It offers more connectivity:) there is a problem. cant seem to find any DIY programmers for it. Do you know any?
And also need a good book. Since im new to Atmel myself. Can you recommend ?
Are the instruction sets of both AVR and ARM same? I mean the syntactic structure of codes. Will simple led blinking program work on both with no modification to code? Can i study AVR book and work with ARM? |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 12:06 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
|
Quote:
Can i study AVR book and work with ARM?
Can you learn to ride a bicycle and then drive a Ferrari?  |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 01:27 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
LoL:D I hoped they are not that much different:S At least like bicycle and motorbike perhaps:P are the codding different from each other? |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 01:52 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
|
Quote:
are the codding different from each other?
At the hardware and assembler level absolutely different.
Also the tools used are different, even if you stick with Atmel ARM devices the tools will be quite different from an AVR device.
Never mind going from one manufacturer to another. The simplest things like setting up the chip's clock or I/O pins can be somewhat mind boggling.
But my brain is old, it may just be very simple for the young. |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 02:09 AM |
|


Joined: Sep 04, 2002
Posts: 21390
Location: Orlando Florida
|
|
| Once some smart guy gets the c compiler ported to run on that model of cpu, regular old comp sci guys can stert writing c and c++ programs that call malloc to grab 100s of K of ram to run the hardware abstraction layer that they are used to and they are happy as can be. |
_________________ Imagecraft compiler user
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 03:00 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
Then i guess for beginning i have to start with AVR ATXmega128A1U:) It seems there are more resources for AVR than ARM. And plenty of free programmers available. Which book would u recommend for me? |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 03:29 AM |
|


Joined: Sep 04, 2002
Posts: 21390
Location: Orlando Florida
|
|
| If you can write console apps for visual c on a pc, you are about 90% there. The AVRs can have code and data in flash, but can only have data in ram. The syntax of interrupt handlers is different in every avr c compiler. The reading and writing of the registers is sort of unique to microcontroller programming. You can program on a pc for months and never need to do an output or input from an IO port. ANSI C is ANSI C. Supposed to compile up and run on every target that has a c compiler for it. Got an app you want to try? |
_________________ Imagecraft compiler user
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 03:37 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
|
Quote:
And plenty of free programmers available
The Xmega chips are NOT the same as other AVR/Mega chips.
The free/cheap programmers may program the AVR range but NOT the Xmegas as they use a different programming method. |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 03:42 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
Console aps. Easy..
Quote:
Got an app you want to try?
Didnt actually understood your question. Im using AVRStudio and GCC compiler. What you mean by app?
Having first problem. I saw in many examples that pins are assigned to be digital output or input by writing DDRC=0x00 or FF. it gives me a strange error.
Quote:
Error 1 'DDRC' undeclared (first use in this function)
Port C i digital. I actually tried other ports too but getting same error |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 03:47 AM |
|


Joined: Sep 04, 2002
Posts: 21390
Location: Orlando Florida
|
|
| Post the program. You need to select which AVR model number you are using. The compiler cant read your mind yet. Maybe next year. |
_________________ Imagecraft compiler user
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 03:49 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
Post your code.
Have you added #include <avr/io.h> so Studio knows which chip you are using? Have you set up the correct chip in the project? |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 04:01 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
Hehe Mind reading compiler:P You dont even have to pres to keyboard in order to write.
Of course i did specified the deviece. You do it when creating a new project. And yes i have <avr/io.h>
Code:
#include <avr/io.h>
int main(void)
{
DDRQ=0xFF;
while(1)
{
PORTQ=0XFF;
}
}
|
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 04:06 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
Which chip are you using? Which version of AVRStudio?
You say that "'DDRC' undeclared" but you are using PORTQ. |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 04:11 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
AVRStudio6
ATXmega128A1U
I also mentioned that tried with other ports. That is the code for port Q. Same Error... |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 04:29 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
| Try
Code:
#include <avr/io.h>
int main(void)
{
PORTA_DIR=0xFF;
while(1)
{
PORTA_OUT=0XFF;
}
}
Unfortunately the version of Studio I have only supports the chip for assembly only, don't know about AS6. |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 04:36 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
Hmm strange.. And it works for me:) So i have Assembly instead of C ?
But when creating a new project i created a GCC C executable file.. how come? and i tried again to clear if mistakenly choose assembly. Same result.. DDR statement is not working for me:S |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 04:41 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
No you have C but winAvr20100110 which I use with Studio 4.18 doesn't support that chip yet.
So is it compiling now? |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 04:53 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
it is compiling:) managed to write a simple led flasher.
Code:
#include <avr/io.h>
#include <avr/delay.h>
int main(void)
{
PORTA_DIR=1;
while(1)
{
PORTA_OUT=0;
_delay_ms(1000);
PORTA_OUT=1;
_delay_ms(1000);
}
return(1);
}
What should i do if codes in books are different the ones i use? |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 04:56 AM |
|


Joined: Mar 27, 2002
Posts: 18749
Location: Lund, Sweden
|
|
|
Quote:
Hmm strange.. [...] So i have Assembly instead of C ?
No, not strange at all.
You will actually have to open up the data sheet(s) for the AVR model you are working with to see which registers/ports it has, and what their names are.
On 8-bit (classic) AVRs there are registers registers with names like DDRx. On the 8/16-bit XMegas the digital IO-ports work differently and have other registers with other names, like PORTA_DIR. This is the difference, not if you are using assembler or C. Registers are the same in both languages. |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 05:03 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
|
Quote:
What should i do if codes in books are different the ones i use?
Choose books which are specific to the chip you are using??
Remember that Xmegas are NOT the standard AVR chip for which you may have the books for, now export that to the ARM field and you start to understand what I said before. http://www.avrfreaks.net/index.php?name ... 452#960452 |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 05:23 AM |
|

Joined: May 26, 2012
Posts: 15
|
|
@JohanEkdahl Thanks. That was very useful info. I actually found it in datasheet.
@js Aha im feeling it now:D
Then i have 2 options:
to find a book for my chip (which would be just perfect) or to try modifying code from other books for my chip working with datasheet (which is going to be a pain in some soft part of my body:P )
Luckily we have ASF examples. 255 ready and free examples for my chip:) that should be enough:) |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 08:58 PM |
|

Joined: May 26, 2012
Posts: 15
|
|
| im getting frustrated:S cant seem to find free open source programmer for Xmega. It turns out Xmegas are using relatively new PDI for programming. |
|
|
| |
|
|
|
|
|
Posted: May 29, 2012 - 11:22 PM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
|
|
|
|
|
Posted: May 29, 2012 - 11:49 PM |
|

Joined: May 26, 2012
Posts: 15
|
|
I knew you are going to point that
So what to do now? to move to ATmega? they are about 2 times more expensive than Xmega... Not cool:S
Or back to PIC18 Actually it turns out PICs are cheaper  |
|
|
| |
|
|
|
|
|
Posted: May 30, 2012 - 12:01 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
The Atmel AVR ISP Mk2 is not that expensive and you have a good tool supported by Atmel.
If you are part of a recognised learning institution you may try and get Atmel to help out, I think there is a university program.
Also you may want to look at the LUFA based programmer which you may be able to build yourself, we will need to wait on someone who has made one for further comments or wait for his excellence Dean to clarify some details.  |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 30, 2012 - 04:13 AM |
|


Joined: Dec 11, 2007
Posts: 6980
Location: Cleveland, OH
|
|
|
|
|
|
|
Posted: May 30, 2012 - 04:52 AM |
|


Joined: Dec 06, 2007
Posts: 2512
Location: Redmond, WA USA
|
|
This is a couple of posts above the post DocJC mentioned:
http://www.avrfreaks.net/index.php?name ... 137#960137
When it comes down to price it may be a toss up between the USBtiny and a real AVRISP mkii. I recommend one of these two for your needs.
This is what I built my AVRISP mkii clone with:
http://www.avrfreaks.net/index.php?name ... 124#957124
It is supposed to be able to do ISP, PDI, and TPI programming but I've only used it for ISP. The infrastructure for PDI and TPI is part of the LUFA code so it should work the same as a USBtiny. |
_________________ Larry
Those afraid to embrace the future will quickly fade into the past. - larryvc
|
| |
|
|
|
|
|
Posted: May 30, 2012 - 06:53 AM |
|


Joined: Feb 19, 2010
Posts: 509
Location: Montreal, QC, CA
|
|
|
Quote:
The AVRs can have code and data in flash, but can only have data in ram.
I think you meant:
AVRs can have data in flash or RAM, but can only have code in flash.
In contrast, the architecture of the ARM processor has a single internal bus for both code and data, as opposed to two separate buses on the AVR. On an ARM code can be either in flash or RAM. |
|
|
| |
|
|
|
|
|
Posted: May 30, 2012 - 08:03 AM |
|

Joined: Oct 05, 2006
Posts: 2297
Location: Poland
|
|
Perhaps you do not know it yet, but it is a debugger that you actually need.
OT:
hugoboss wrote:
In contrast, the architecture of the ARM processor has a single internal bus for both code and data
AFAIK only CM0 have a single bus. Other ARMs(including mature v5) have separate program/data buses. Some of ARMs uCs have even more of them, for example LPC1769 has four buses.
Perhaps you meant "the architecture of the ARM processor has a single internal memory space"? If so, some tiny AVRs have one memory space and about all the rest of AVRs have FLASH+SRAM(+EEPROM sometimes).
hugoboss wrote:
On an ARM code can be either in flash or RAM.
Indeed, that is a cool feature. One can dll a code from about any SD. |
|
|
| |
|
|
|
|
|
Posted: May 31, 2012 - 12:18 AM |
|

Joined: Dec 18, 2001
Posts: 4779
|
|
The ARMs are single-address-space for RAM/Flash. This is called Harvard Architecture.
The AVR and PIC are dual-address busses. This is called von Neuman Architecture.
Problem is that C and other compilers, and the standardized run time libraries were designed for the single address space architecture and hacked and kludged for dual address spaces; some better than others (GCC is sub-par in this regard).
ARM is so nice in having RAM and Flash in the single address space. You can run code in either, e.g., debug in RAM, then write to flash. And the ARM chip makers do tricks to keep the cycle time for instruction fetches from flash just as fast as from RAM - e.g., by having a 128 bit wide flash data bus. |
|
|
| |
|
|
|
|
|
Posted: May 31, 2012 - 12:47 AM |
|


Joined: Sep 04, 2002
Posts: 21390
Location: Orlando Florida
|
|
| Harvard 'architecture'->AVRs; Von Neuman architecture-> ARMs, Pentiums, 6800s, 'conventional' computers. |
_________________ Imagecraft compiler user
|
| |
|
|
|
|
|
Posted: May 31, 2012 - 06:32 AM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
|
Quote:
The ARMs are single-address-space for RAM/Flash. This is called Harvard Architecture.
The AVR and PIC are dual-address busses. This is called von Neuman Architecture.
Exactly the OPOSITE as Bob seems to show cryptically.  |
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|
Posted: May 31, 2012 - 09:50 AM |
|

Joined: Oct 05, 2006
Posts: 2297
Location: Poland
|
|
|
stevech wrote:
The ARMs are single-address-space for RAM/Flash. This is called Harvard Architecture.
http://infocenter.arm.com/help/topic/co ... index.html
Cortex-M0 Generic Users Guide wrote:
The Cortex-M0 processor is built on a high-performance processor core, with a 3-stage pipeline von Neumann architecture
bobgardner wrote:
Von Neuman architecture-> ARMs
http://infocenter.arm.com/help/topic/co ... index.html
Cortex-M3 Generic Users Guide wrote:
The Cortex-M3 processor is built on a high-performance processor core, with a 3-stage pipeline Harvard architecture
|
|
|
| |
|
|
|
|
|
Posted: May 31, 2012 - 03:20 PM |
|


Joined: Dec 06, 2007
Posts: 2512
Location: Redmond, WA USA
|
|
| Add a PIC32 to the mix and you get a hybrid of the two architectures. |
_________________ Larry
Those afraid to embrace the future will quickly fade into the past. - larryvc
|
| |
|
|
|
|
|
Posted: May 31, 2012 - 05:25 PM |
|


Joined: Sep 04, 2002
Posts: 21390
Location: Orlando Florida
|
|
| OK, I give. If the instructions are in ram, they can be modified. I did it in the 6800. |
_________________ Imagecraft compiler user
|
| |
|
|
|
|
|
Posted: May 31, 2012 - 11:48 PM |
|


Joined: Mar 28, 2001
Posts: 20618
Location: Sydney, Australia (Gum trees, Koalas and Kangaroos, No Edelweiss)
|
|
|
Quote:
If the instructions are in ram, they can be modified. I did it in the 6800.
True but only in a single buss architecture where RAM and FLASH/ROM/EEPROM bear no distinction as to data or code or even, in the case of the 6800 I/O space, the von Neumann architecture.
In a, say M8515, where you can add 64K of RAM, instructions in that space are useless as the CPU will not see anything there as code, the Harvard (or rather MODIFIED Harvard) architecture.
Edit
Quote:
QUESTION
What is the difference between Harvard Architecture and von Neumann Architecture?
ANSWER
The name Harvard Architecture comes from the Harvard Mark I relay-based computer. The most obvious characteristic of the Harvard Architecture is that it has physically separate signals and storage for code and data memory. It is possible to access program memory and data memory simultaneously. Typically, code (or program) memory is read-only and data memory is read-write. Therefore, it is impossible for program contents to be modified by the program itself.
The von Neumann Architecture is named after the mathematician and early computer scientist John von Neumann. von Neumann machines have shared signals and memory for code and data. Thus, the program can be easily modified by itself since it is stored in read-write memory.
|
_________________ John Samperi
Ampertronics Pty. Ltd.
www.ampertronics.com.au
* Electronic Design * Custom Products * Contract Assembly
|
| |
|
|
|
|
|