ARM

Excuse me friends,last post was full of Eng-mistakes

and I didn't get the right answer though

here is what I want to ask:

I'm just migrating from AVR to ARM and I'm reading a book about ARM

but still reading the first parts and introducing

I wanna "run before I can walk" 

I want to do small projects with ARM and experience

more than 70 MHz clock speed beside reading that

book (which is in persian) - so :

My Question Is :

1 -is it able to program an ARM using it's own USB port by just soldering it and using a SMD to DIP converter board without programmer?

answer:yes but a few chips support that "native usb

bootloader and update flash via usb" option.


2 -for me,does it matter really which chip to buy for start?

answer:depends on the project and your programmer also, for stm32&8(which are used on so many projects) there are a usb mini-programmer which is cheap,and for programming using JTAG there is a J-link model which is more expensive but supports more chips(atmel arm9 arm7 and etc.)

 

3 -what is the best IDE for ARM?I know C# and C++ and C,which one is the best for me ?

answer: I dont know yet but I know it depends on the chip vendor,every vendor has its own IDE ...


4 -is it possible to program in VisualStudio 2012 as I always do for C or C++ ... projects,for ARM ?

Getting started with ARM

The STM32 Nucelo and Discovery boards offer board level solutions with multiple soltware developent suites. The boards typically cost less than $25 US. The software delelopment suites are often feature reduced or time crippled versions of major tools but can be useful for getting started.

Embedded ARM chips are often programmed via JTAG tools which can be quite expensive. I suspect that it is possible to make your own JTAG or SWI programmer using a USB converter chip but without tools like logic analyizers and scopes and an experienced suport staff it would be a no win proposition. 

Many ARM chips support a serial boot option. You assert the mode pins while in reset. Upon boot the internal firmware (not user modifiable) checks the I/O pin and if asserted enters a simple HEX download and burn routine. There are free utilities and user groups that support this mode. I use this in conjunction with an LPC2114 board. Other LMR members are using the LPC1114 chip with a member developed board.

do you mean for DIRECT

do you mean for DIRECT connection between the ARM-Microcontroller and PC USB I’ve to burn a bootloader using a JTAG programmer?like arduino UNO(ATmega8) ??after that can I connect the chip itself to the PCs USB port?

 

repeat

Esp8266 nodemcu boards - about 7dollars for an ARM with wifi and usb.1Mb memory, 8pin, 1adc.

Leaflab maple mini  - about 4dollars, many gpio, 3uarts and usb. 5v tolerant, more everything than an atmega328, small and 128kb memory.

There are many ways to program these boards, but i prefer arduino ide and C++ to program them. Or the MBED environment for the nucleo boards.

I like Arduino compatible boards because usually have more examples, better documentation or friendlier community.

thank you silux forrepeating

thank you silux for

repeating and your support <3

I have an arduino uno,and Im agree

with you.but I dont want to use a 

prepared board like arduino or nucleus

I want to design my own systems and

program their microcontrollers directly

onboard and specially using their USB port.

after chatting with 6677,he told me that there arent

so many boards with “native usb bootloader and updating flash via usb” option,I found that 

the number of these kind of chip in my countrys shops is zero.so I decided to buy a swd programmer

for stm32&8 they are cheap :slight_smile:

if you want to design

if you want to design everything, board included, you should start from the design of an arduino board made from Sparkfun Seedstudio or Adafruit, their boards are well designed and open design.
Usually to add USB you should place on the board a usb to serial converter, like the FTDI serial converter or the CH340.
Take note that the microprocessors that have native usb usually are made to be Human Interface Device, so they can behave as a keyboard or mouse.