learning ARM assy with BBB

Hi Forum,

I have a problem and I am hoping that I kind soul will direct me whereby I am able to help myself get on my feet.

This is a bit embarrassing, but here it goes. I got myself a BBB because I want to switch from using MCS-51 processors and the like. I have no formal schooling in processors or electronics. I started working on processors around 1980 when I got hold of an scientific and later an AppleII+. Later moved to Z80/Z8000/8086/68030 and similar as I started to formally design HW and SW for embedded systems.

Never had to bother even with C so have been hacking merrily away with Assembly only. Rarely adding ( with difficulty) bits of code for floating point when my own extended math routines simply would not do. This works for me as I have learned to cram as much functionality as possible into limited resources. I can get working code written and debugged faster than most C coders can. I know nearly zero about Linux//Ubuntu/Fedora. Unless someone has worked on the simple old controllers one might not understand how exciting ( mouth watering even! ) it is to contemplate the peripherals this Sitara 3359 processor provides. I just need to get a jump start.

Here is the problem, I want to write code for the Sitara-3359 and learn the nuts and bolts of low level programming (assy). I need some kind of a simple IDE Where I can take control of the processor from reset onwards ( barring un-by passable initializing code prewritten into the processor?). I have been searching all over the net for just that but come up frustrated by the huge number of names/acronyms and all. There are just too many branches to investigate. I get lost every time I try. For the moment I want merely to exercise the Sitara and study its responses, no desire to write any commercial application (with the possible exception of a camera interface for my telescopes).

Please kindly somebody point me in the right directions. Once I have the correct IDE set up I can take over and dive into the details. No problem there.

Thanks in advance

Azzythehillbilly



You couldn’t have searched very hard Google TI IDE you will see Code Composer



Sent from Yahoo Mail on Android

|

http://beagleboard.org/Getting%20Started

Gerald

Hi There;

I come from much the same background as you.

In fact, my first computer was an Ohio Scientific machine as well J

May I ask/suggest why you don’t use C or GCC (Gnu C Compiler) as it is often referred to ?

The Beaglebone comes with both GCC and Java/Javascript already installed.

Just my two cents …

I am not at all good with C.
As I said I get the same, or more, productivity when I work with Assembly and rarely need debugging.
The SW and libraries I write are for my own use and don’t have to follow any “standards, conventions or structures”.

Anarchic? Yes, but also very effective.

Thanks Gerald.

I have installed CCS . Now I am confronted with a gargantuan 1000+ GB IDE and don’t know where to begin.

There is tons of distractions. It boggles the mind.

I might have to uninstall it. For the CCS targets serious program development. My needs are simpler and I don’t want to waste time learning what can or should be postponed.

Isn’t there some simpler IDE for simple needs like mine? Some system where I can write mixed C and assy code?

Please help!

I’m with you Azzy. What we want to do is very fundamental. So why don’t these experts tell us how?
I wrote an assembler (on another ARM platform), learned the instruction set, stacks, interrupts etc…
for the first time, it took me 6 months. But baby, it rocks! Fast, stable & bypass mountains of dry
meaningless documentation.
Now, if i can only crack the sitara… Like, what is wrong with these corporate engineers? Don’t they
want us to use their technology?
All I want to do is boot up my binary.

let me know if you get somewhere.

thx…dd

Did you look on the Wiki?

http://www.elinux.org/Beagleboard:BeagleBoneBlack#TI_EZSDK

Gerald

Hi DD,

I know exactly what you mean when you say that your assembly software rocks.

And I am with you when you talk about the , “mountains of dry meaningless documentation”

Only someone who has written good assy knows what assy can do and what C can never hope to.

Every one said that a 8051 running at 30 MHz could never transfer a bmp file from an SDHC card to an LCD at a reasonable speed. They are wrong. With just one 4 x 2 input nand gate I found a way to do just that using the built in SPI port on the 89C51AC3. The data is setup and goes directly from the memory to the LCD. The processor only controls the clock.
The rest is assembly.

I will soon start a blog of my own where I promise to fleece C, Linux and all that trash.

I have nearly given up on this whole business. Besides, I don’t want to learn/code in C or any other “higher” lingo any more. And I am no fan of Linux either.

I see no need for it. From the bits I know, and looking at C code, I can tell that it is an impossibly stupid language. I am sure that you are aware that it started as a joke. (Google for “C started as a joke” .)

I am reading the Cortex manuals and hope to be able to write good Assy for this processor. I have no need for the “packages”

Can one imagine a language where even the experts cannot agree as to what a particular combination of operators forming a statement means. And like marketing warriors they claim that the minimalism of C is a prized feature. In fact a deadly weakness Baaaaah.

I hold that Assembly is an undervalued stock. And C’s much vaunted cross platform capability is oversold. A lingo where such basic elements such as the very size of variables is suspect. Porting C code from one platform to another is a joke, albeit a cruel one. It might not be to every ones taste but if you can do it you will have no need for C.

And it is not true that my work was some low grade S*&4#$T. One of my proud creations flies at over 20,000 feet and the other moves at 900MPH at under 500 feet. So I know my stuff.

I have been probing at some of these heroes who talk incessantly on the forums about the latest software they have mastered. I suspect that they actually in fact understand zilch. Some of my pointy questions in a way that suggests this conclusion. Sorry to be so rude.

And do you want to know why the “experts” don’t tell us how? Because they don’t always know it themselves.

Read up the Sitara manuals. They are long but easy to follow. I think I should with luck be able to handle the Sitara. It’s a wonderful processor. I have given up on my A20 Cubie though. It lacks good support.

Thanks for reading this harangue.

I will post here the link to my blog when I have it up and running. The skunks have given permission

Azzythehillbilly.

hi azzy. man, i thought i was alone out here. u r ahead of me in this stuff. and i really need help
if i hope 2 pull this off in my lifetime. do u have a website?
i use c alot and i have 2 admit u r right about it. some fundamental things r counter-intuitive.
however, as i am not a formally-trained programmer, i accept them as abstractions of reality
by some artsy-techno-academics. and it was all a prank?!? that is 2 much!
but enuf of this bashing, the natives r getting restless.
i will read the sitara manuals. u better b right, they r huge.
later…dd

Hi again Azzy. Here is a tutorial on the BBB with starterware & a jtag cable.
http://anthonymerlino.us/uncategorized/getting-started-with-beaglebone-black-bbb-and-starterware
It looks thorough. Need to buy jtag first. It should not be difficult getting around the starterware code.
And one can rip their drivers!

Also, on this forum under thread
Confused about developing bare-metal applications for BBB
Frank Hunleth gives instructions at 7/22/13 and 7/23/13 on how to hack u-boot.

So, it looks like we have our work cut out for us!

later…dd

Hi DD,

AnthonyMerlino.us looks like a good blog. Thanks for the link

I have a J-tag which cost me US$10.73 post paid from this guy here.

www.aliexpress.com/item/ARM-Emulator-supports-ARM7-ARM9-ARM11-Cortex-M3-core-ADS-IAR-STM32-ARM-Emulator-JTAG-interface/1457219031.html

There are a host of others selling the J-Tag on Aliexpress. I would not recommend this seller as they forgot to ship the CD and have never kept their promise to send a replacement. Anyway I downloaded the drivers from J-tag directly. (student version, which is complete) The device seems to be working well.

Azzythehillbilly

hi azzy. i never used a jtag. i assume they are a standard interface device. can i buy any jtag?
do you you have a website on your work? sounds interesting…dd

Hi DD,
I plan to start a blog of my own as soon as I can get away from making money.

I will chronicle my struggle with the ARM and will surely fleece/rip apart C, Linux and all that stuff.
Also might be able to show some of my assembly work.

Do get the J-tag. it seems easy to use and makes downloading code ( or is it uploading?)a breeze.

Get your J-tag from Aliexpress. Yes they are all the same. (Segger Clones)

Also get the Saleae logic 8 and 16 wire logic analyzers(clone/rip-off) .
The 16 bit analyzer at 27US$ post paid is a steal. (@Aliexpress)
The 16 line because you can set it to monitor only 3 lines so that it may then run at 100MHz.
The 8 line device can theoretically do a max of 25 MHz.

This thing is an extremely useful device. And I do emphasize extremely. About 50 times better than a debug tool or software.

Azzy

ok, i ordered the jtag & 16 bit logic analyzer. away we go.
i wouldn’t expend any effort bashing the status quo. they are there by choice.
rock on! …dd
ps why 2 logic analyzers?

hi azzy. i ordered a jtag cable and one logic analyzer.
but now i just learned that i must solder jtag header pins onto the bbb.
it appears that i can only buy the (samtec) header from digikey for $4.
but they only ship by courier for $40! where did u get your headers?

thx…dd

Hi DD,

Yeah, had the same problem and solved it by using the female to female jumpers like here.

http://www.aliexpress.com/item/Free-shipping-40pcs-20cm-1p-1p-female-to-Female-jumper-wire-Dupont-cable-for-Arduino-Breadboard/765002617.html

Never used the J-tag cable.

Got me whole bunch. They are very handy. They stick into the headers directly. No need to solder.

Azzy

DD,
Thake a look at these. Might be better way to work the ARM.
http://www.aliexpress.com/item/ARM-Cortex-M3-Mini-Stm32-Stm32F103ZEt6-Cortex-Development-Board-72MHz-512KFlash-64KRAM-FZ0620-Free-Shipping/1384134068.html

Azzy

hi azzy. u mean the jtag header pins are also accessible on the io-expansion headers?
i could not find the assignments on the schematic (bbb-sch.pdf).
and what do u mean by “never used the jtag cable” ?
thx…dd

Hi DD,
Sorry for the confusion.
Being the cheap shot, I am frugal with words too.

I’ll send you a pic as soon as I can retrieve my cam and the BBB. That should be easier than words to understand.
The Jtag pins do not come out to the headers. Yes I did solder pins to the back side of the BBB. But, used a cheap 0.1 inch header with bent pins.
The picture will make it clear so please wait a little. The adapter kit with the cTI20 at 33$, cost nearly as much as the BBB so not for me.

Azzy