Programming BBB - How assembly code & OS work together

69 views
Skip to first unread message

not you

unread,
Jan 6, 2018, 5:33:46 PM1/6/18
to BeagleBoard
I was going to start off programming my BBB with C++ before running into this post: https://www.twosixlabs.com/running-a-baremetal-beaglebone-black-part-1/
Apparently, BBB can be programmed with CCS, which offers assembly, C, and C++.

Questions:
1.  Does the code compiled with CCS run on the OS, or straight on the CPU?  If on OS, where is it written to, how does it get started and executed?
2.  What are the differences between CCS C/C++ code and CCS assembly code running on BBB?
3.  What are the differences between CCS C/C++ code and C/C++ code from another IDE or compiler running on BBB?
4.  Can I write assembly code with CCS, run on the OS, and interact with the OS' other processes (communication, file I/O)?

Thank you so much.

not you

unread,
Jan 6, 2018, 5:36:18 PM1/6/18
to BeagleBoard
Also, does CCS write the compiled the code onto the eMMC or the SD card?

Hee-cheol Yang

unread,
Jan 6, 2018, 9:59:22 PM1/6/18
to beagl...@googlegroups.com
Hello
I suggest you to visit this YouTube channel:
It might  be the solution for all the questions you asked in the previous mail.

I hope you to find the solutions.

Best regards.

From: beagl...@googlegroups.com <beagl...@googlegroups.com> on behalf of not you <nguyen....@gmail.com>
Sent: Sunday, January 7, 2018 7:33:46 AM
To: BeagleBoard
Subject: [beagleboard] Programming BBB - How assembly code & OS work together
 
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/e39b68aa-618f-4509-b8c4-4fb0dfdc59b5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mark Lazarewicz

unread,
Jan 6, 2018, 10:26:11 PM1/6/18
to beagl...@googlegroups.com
Some of this is described on the processor wiki. Bare metal means no OS. 
Using CCS you have source level debugging and jtag support instead of printf.
Bare metal allows maximum possible  hard real-time responsive but puts the burden of anything  beyond the driver's provided in starterware on you. 
If your system needs operating system like services you have 3 choices  TI_RTOS , open source Linux or a Commercial RTOS.
read about the processor  boot sequence  in the TRM and  read the PowerPoint on the wiki and baremetal howto it should be obvious that CCS uses a gel script that does  the firmware equivalent of the 1st stage boot loader and uboot and the code is placed in RAM. 
Then when your code works and you have your product hardware you decides what kind of loader  beyond the Rom  bootloader you  want to implement which  will determine the strapping  of the pins.
Your question about programming languages I don't understand. All 3 languages are supported by GCC command line builds  or CCS and RTOS use an API usually C language but some support c++. Calling C code can be done  from assembler but requires understandings the registers used by the compiler.

Your final system design and budget dictates which OS, IDE/compiler and jtag barebones vs the open source Linux and printf debugging you go with.

This forum generally  supports linux. Bare metal is supported by e2e  forum if you plan on not reading  and blindly expecting to get something working with minimal effort your probably better off in here maybe someone will write  your Linux application code for you in here.  
On Sat, Jan 6, 2018 at 4:36 PM, not you
Also, does CCS write the compiled the code onto the eMMC or the SD card?

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages