#1 How computers count?

  Рет қаралды 425,067

Quantum Leaps, LLC

Quantum Leaps, LLC

Күн бұрын

Пікірлер: 367
@tarinisharma3687
@tarinisharma3687 2 жыл бұрын
Hi, I got the tiva C ek-tm4ac123gxl board but cannot see the device listed in the project-general options . What should I select as "device" from the listed options. This is my first embedded programming course. :-). I wish to run/debug the code on the board.
@StateMachineCOM
@StateMachineCOM 2 жыл бұрын
You should select the TM4C123GH6PM device. But please, visit the companion web page included in the video description www.state-machine.com/quickstart , where you can find all the information and additional resources. Also, you should download the ready-to-use *projects* for the lesson (from GitHub or from the ZIP files listed for each lesson on the companion page). That way, if you have any trouble with your own creations, you can compare them to the working projects. --MMS
@satish8299
@satish8299 2 жыл бұрын
Is there a virtual box or vmware that emulates the ARM Cortex-M board ?
@rvlad13
@rvlad13 Жыл бұрын
@@satish8299 you can use qemu
@srivamsimalladi5577
@srivamsimalladi5577 Жыл бұрын
​@@satish8299 The IAR Embedded Workbench IDE itself comes with a Simulator that does the job of what you are asking for, by emulating an ARM Cortex-M board
@shaikpeeran1566
@shaikpeeran1566 Жыл бұрын
@sandpaper-egg-2020
@sandpaper-egg-2020 Жыл бұрын
I recently got hired by a company for a mixed programming position. I had NO experience in embedded systems programming whatsoever and was struggling to catch up. This course single-handedly brought me up to speed with quality and clarity unrivaled by any other KZbin training course (and I have watched quite a few). If you have just found this course, keep going. You have come to the right place. The fact that Miro Samek has posted this course for free is the height of scholastic generosity. I have learned more from this course than any computer-science college class.
@StateMachineCOM
@StateMachineCOM Жыл бұрын
Wow! Thank you so much for such a nice comment. I'm happy to hear that my videos helped someone. For each video I make, I try to remember the beginning of my embedded career and what I wished someone had not only told but shown me at that time. I'm really glad to hear that this approach works for you. --MMS
@TheAsphaq
@TheAsphaq 9 жыл бұрын
Your statement "This is how my hands look after programming for 20 years." brought a smile on my face. :)
@stovegamesgames6917
@stovegamesgames6917 3 жыл бұрын
8 years later and this is still very helpful!
@StateMachineCOM
@StateMachineCOM 3 жыл бұрын
The fundamentals of computing, like counting and binary representation of numbers, are not likely to change any time soon. Therefore these videos are going to remain relevant still for quite some time... --MMS
@debajyotichatterjee5863
@debajyotichatterjee5863 6 жыл бұрын
The use of a circle to explain the 2's complement representation of a negative number is awesome!
@ShawnGerber
@ShawnGerber 11 жыл бұрын
One of the better training series I've seen on KZbin. The board is still only $7.99!!! What a deal. Thanks!
@ZoneXXL
@ZoneXXL 12 жыл бұрын
These tutorials are the best of their kind on the net. Eventhough, my skill level is beyond them, I found myself watching them all.
@jamescullins2709
@jamescullins2709 11 жыл бұрын
I have listened to 2 of your lessons and they are the best I have seen. Love your 8 fingered hands.Glad you plan to continue the lessons. I am learning a great deal an beginning to feel comfortable in embedded systems. Thanks again
@StateMachineCOM
@StateMachineCOM 5 жыл бұрын
Yes, there are of course 4 BITS in a nibble. This slip of the tongue has been already brought up in the older comments (e.g., by Zbygnoew Pbrzybyshobizewski 2 years ago). --MMS
@alanmoreno6330
@alanmoreno6330 2 жыл бұрын
@@StateMachineCOM well thats a made up name
@satish8299
@satish8299 2 жыл бұрын
Is there a virtual box or vmware that emulates the ARM Cortex-M board ?
@sumedhburbure4173
@sumedhburbure4173 5 жыл бұрын
Hello, Thank you ! I want you to know that your lessons are still guiding us newbies in the world of embedded systems. THanks For being a torch in the dark!!
@FahadShah822
@FahadShah822 11 жыл бұрын
Wow, this is exactly what I've been looking for when I was taking an embedded systems course. I still can't get over the quality of the editing. Unbelievable work, my friend.
@murrij
@murrij 10 жыл бұрын
One comment - I had to stop and start IAR Workbench after installation before I got the option to pick C under project types when creating a project. Before stopping and starting all I got was ARM for an option. When clicking on ARM I got nothing underneath it. What a wonderful set of lessons. Thank you for these. You really rock!
@Truth_seeker_24
@Truth_seeker_24 4 жыл бұрын
This is a very awesome course wherein you teach basics very elegantly by showing the information available on IDE. Very very good for engineers like me who kind of are aware of basic stuff but don't know their way around IDE's and have last done embedded C during academic years. Many thanks an God Bless :)
@StateMachineCOM
@StateMachineCOM 11 жыл бұрын
Thanks a lot! I appreciate the encouragement to keep doing this video course. --Miro
@stpnyes
@stpnyes 11 жыл бұрын
Thank you very much! This is the best course on ARM I have seen by far. You should write a short book or smth.
@jimjam623
@jimjam623 11 жыл бұрын
Oh to have had access to tutorials of such quality when I was starting out with the C language and Cortex-M3 processor. Very nice - thank you Miro!
@888Antoine
@888Antoine 6 жыл бұрын
Too think out of all the stuff i have been learning online this topic has been the hardest in which to find a good teacher..alas the search has ended! Thank you!
@patricializarazo4081
@patricializarazo4081 5 жыл бұрын
Can u get a good job with this ?
@yashesvi-raina
@yashesvi-raina 3 жыл бұрын
It's 2021 and I am taking this course ! this is so cool! :p
@StateMachineCOM
@StateMachineCOM 11 жыл бұрын
The ARM Cortex-M uses the THUMB2 instruction set and does not use the ARM instruction set at all. Many THUMB2 instructions are 2-byte wide. However, some instructions, such as some branch instructions are 32-bit wide. All instructions must be aligned at 2-byte boundary (even address).
@WRAND2208
@WRAND2208 9 жыл бұрын
hello.nice tutorial and I hope to follow the rest.thank you for uploading. i need some advices from you.hope you have some time. i am very new to embedded system development but i have some xp in software development. how should i get into embedded systems.what are the ideal steps to get to industrial embedded system development. arduino is mostly hobbyist but will it be a good first step.which way i should evolve.please share your xp and thoughts.thank you.
@ahsanbaig74
@ahsanbaig74 5 жыл бұрын
I think just because of you I feel I am able to say that today i learn something, I am speechless so i thought to TYPE, :) i think you are more lovely than the word "lovely"
@quaternion-pi
@quaternion-pi 10 жыл бұрын
You are a fantastic teacher. Thanks for taking the time to do this series. Since I am using the Tiva C series Launchpad TM4C123GXL board I configured the microprocessor to TM4C123FH6PM in the IAR workbench - works perfectly with your tutorials.
@manjinderkaur119
@manjinderkaur119 7 жыл бұрын
Mine is not working although i have used the same settings.
@thisaintmyrealname1
@thisaintmyrealname1 4 жыл бұрын
Well done, I really like how it progresses naturally; all these new concepts you introduced, they just flowed because of genuine necessity. I'm definitely going to follow through with this series. Thank you sir.
@mayursj3175
@mayursj3175 Жыл бұрын
Very informative video really helped me to understand ARM cortex processor thank you very much
@prashantpatil203
@prashantpatil203 8 жыл бұрын
Really helped me to enter in the Embedded systems world. Thanks a lot.!
@YSJCA
@YSJCA 9 жыл бұрын
god bless you. I am a mechatronics student and this is one of our hardest courses that uses the same board.
@Yusuf-dx4hw
@Yusuf-dx4hw 4 жыл бұрын
Thank you very much Sir. You made my day.I can understand how the machines work and my passion for engineering increased with your contribution.
@rishabhkasliwal2476
@rishabhkasliwal2476 10 жыл бұрын
thank you miro, this tutorial series helped me get started with stellaris.
@StateMachineCOM
@StateMachineCOM 11 жыл бұрын
Yes, that's actually what I was trying to say. All projects created in this course run ont the Tiva C Series LaunchPad as well as on the slightly older Stellaris LaunchPad. --MMS
@pointy224
@pointy224 9 ай бұрын
Awesome resource for beginners like me, thank you! I notice a difference in the assembly instructions generated in IAR and those generated in ARM uVision. Is there some way to configure the disassembly window to show the same instructions so I can step through the code with the video?
@StateMachineCOM
@StateMachineCOM 9 ай бұрын
To my knowledge there is no way to make two different compilers produce the same exact code. Please note that this is NOT a matter of configuring the disassembly window in the debugger. The disassembly view merely shows the code stored in ROM and that code had been produced by the compiler. The compilers have a large degree of freedom in allocating the CPU registers to temporary variables, and many other things. In fact, this is how compilers compete with each other, by making claims like: "compiler ABC produces smaller or faster code than compiler XYZ". However, the most important aspects of the generated machine code will be the same for all compilers. For example, most functions will return with the BX LR instruction. --MMS
@CheerfulGalah
@CheerfulGalah 11 жыл бұрын
I.LOVE.YOU!!!!! Fantastic explanation on both conceptual materials and demonstrations! I.LOVE.YOU!!!!! Produce more videos please, please, please.
@santiagoflores7726
@santiagoflores7726 6 жыл бұрын
Best tutorial I've ever seen in my life!!!!!!! Thanks!
@patricializarazo4081
@patricializarazo4081 5 жыл бұрын
Hola amigo,tu sabes Qué tal es la demanda laboral en esta área en ARM ? A comparación de web developer
@masterhidsert1043
@masterhidsert1043 3 жыл бұрын
Thank you so much for your videos :) I just got promoted to associate embedded software engineer due to my background in high level programming, but they want me to learn embedded software from scratch >.< this is helping so much!
@Michaeltech
@Michaeltech 12 жыл бұрын
These tutorials are really awesome. Thanks for the help!
@VIPINKUMAR-wr7mn
@VIPINKUMAR-wr7mn 5 жыл бұрын
Great work man, this is concise and accurate to start work,
@juniorlucival
@juniorlucival 11 жыл бұрын
my name is Lucival from Brazil, and I'd like to congratulation for your job, great job, very very nice, good quality video and method.
@kmmaran
@kmmaran 9 жыл бұрын
Thank you so much for this Lesson 0 and 1, learned so much!!, going Lesson 2.
@StateMachineCOM
@StateMachineCOM 11 жыл бұрын
For now, you can watch the already posted lessons 2-9 to find out whether or not you like embedded programming of microcontrollers. I intend to continue the course, so in time it will cover more and more advanced concepts. From what I hear from recent CS graduates, they no longer learn about the inner workings of computers, so I think that this course fills a growing gap of knowledge. To me embedded is fun, because exactly you _know_ what is going on at the low-level. --MMS
@pseudorealityisreal
@pseudorealityisreal 7 жыл бұрын
Wow thanks! This video was really well done for beginners to embedded programming.
@gargaste
@gargaste 11 жыл бұрын
Wowo this is outstanding..miro congrats..love ur job..u r so straight forward n clear..thanks.so much n keep posting videos..Ruben from Mexico.!
@hoerbschmidt618
@hoerbschmidt618 5 жыл бұрын
Your lessons are AWESOME! Exactly what I was looking for. Thank you very much!! :-)
@Deepak9aagri
@Deepak9aagri 10 жыл бұрын
Nice Explanation of ARM Cortex-M...
@doctarhyf
@doctarhyf 11 жыл бұрын
You are the best ... Thank you!!!
@djamaltaleb4796
@djamaltaleb4796 7 жыл бұрын
very clear and very helpful. your videos are great. Thank you so much.
@itsdeepu08
@itsdeepu08 8 жыл бұрын
Thanks. This is a very good video for embedded i have ever seen
@blackhawkLprince
@blackhawkLprince 9 жыл бұрын
great video, well explained.
@keshavaggarwal6488
@keshavaggarwal6488 7 жыл бұрын
Hello Sir, Thanks for your this Embedded system series I enjoyed a lot with my applications and all its because of your help. But today i was again revising your lectures and in "Embedded Systems Programming Lesson 1: Counting" at 11:35 by mistaken you said:- a single hexa decimal represents a 4 "byte" (nibble) instead of "bits". Again thanks for your valuable help.
@lamarts1000
@lamarts1000 10 жыл бұрын
Nice tutorial. I've looked at a few of your tutorials quite some time ago, thinking I had to use the same development board. I got a little smarter, decided to use what I had...Atmel SAM4L-EK. I followed your tutorial with my board and it works. Way cool. Great job with the tutorials. On to the next lesson...
@zawt232
@zawt232 7 жыл бұрын
hi, as in 15:48, (Debugger->Download tab) is not present in my software. Mine is using IAR work bench 8051 Eval. And i am using CC2540 with CC debugger. Any advise is appreciated. Thank you.
@lorenrus
@lorenrus 6 жыл бұрын
Hi , The registers you are viewing, minute 7:08, are of the board that you have selected and you will have definitely connected to your PC? Thanks
@lorenrus
@lorenrus 6 жыл бұрын
Another question. Minute 8:58. Line underlined in green. 0x42:0x1c49. 0x42 is the addres of the memory but i don't understand what is this 0x1c49. Thanks
@nashs.4206
@nashs.4206 3 жыл бұрын
@@lorenrus The 0x1C49 is the machine instruction which means "ADDS R1, R1, #1"
@harivigneshm9170
@harivigneshm9170 Жыл бұрын
Hi! at 15:29 you have said to choose TI stellaris driver in project-> options -> debugger driver. I have bought the TI Tivac launchpad is it advisable to follow this step?
@StateMachineCOM
@StateMachineCOM Жыл бұрын
Sure, please change the debugger from "Simulator" to "Stellaris ICDI" as shown at 15:29. This requires the real board (TivaC LanuchPad) connected to a USB port on your computer. As you might be connecting your board for the first time, you will be prompted to install the USB drivers. The USB drivers are provided by TI, but if the standard download does not work, you can get them from the companion web-page: www.state-machine.com/video-course#Resources (click on Tiva/Stellaris ICDI Drivers). I'm working on a new and updated version of lesson-0, where I explain the USB driver installation. --MMS
@harivigneshm9170
@harivigneshm9170 Жыл бұрын
@@StateMachineCOM thank you very much!! Very helpful
@EmbSysDev
@EmbSysDev 9 жыл бұрын
Fantastic tutorial !!
@sayedabdelaziz4529
@sayedabdelaziz4529 Жыл бұрын
when i try to compile the project in this lesson using keil uvision 5 i get this error "Error: *** Project 'lesson', Target 'Debug', Device 'Texas Instruments::TM4C123GH6PM' is not supported by Toolchain ! ***."
@StateMachineCOM
@StateMachineCOM Жыл бұрын
This is normal. The KEIL-MDK IDE does not support most devices right after installation. Instead, KEIL-MDK has an extension mechanism called the "Pack Installer". When you open a project for the first time, the "Pack Installer" should open automatically and try to install any missing "CMSIS Software Packs." Please allow the process to run its course and do NOT close the "Pack Installer" prematurely. After this first time, the missing "Packs" are permanently stored locally on your computer and the projects should open quickly. --MMS
@sayedabdelaziz4529
@sayedabdelaziz4529 Жыл бұрын
i did install MDK_Stellaris_ICDI_AddOn and when i first openned the project the program asked me to install the missing device and i did, and double checked inside the pack installer and found Texas instruments in the devices list, but still it doesn't work for me @@StateMachineCOM
@Revan7233
@Revan7233 11 жыл бұрын
Great lessons, You are a very good teacher
@longluongtuanmb62s
@longluongtuanmb62s 8 жыл бұрын
Perfect lecture. Thank you very much.
@VIPINKUMAR-wr7mn
@VIPINKUMAR-wr7mn 5 жыл бұрын
keep going with valuable videos
@snapesrds5766
@snapesrds5766 Жыл бұрын
Hi, I want to know that can i use raspberry pi 3 model b for this course? Thanks For Sharing the Knowledge.
@StateMachineCOM
@StateMachineCOM Жыл бұрын
The question: "Can I use a board XYZ for this course" is by now the most frequently asked. The answer is NO. This course goes beyond generalities and frequently steps down to the low-level. This is the most effective way to learn truly embedded programming. To do this, you need specific software tools and a specific board. The boards and software tools used in this course are explained in lesson-0 ( kzbin.info/www/bejne/np_NXmqOrLmMiKssi=LXIj9_w36c6hSCVI ).
@saikirangattu2924
@saikirangattu2924 7 жыл бұрын
Thank you for the great videos, For me at (7:35) the highlighted instructions shows (0x40: 0x2000) instead of (0x40: 0x2001), why is there a difference?
@saikirangattu2924
@saikirangattu2924 7 жыл бұрын
sorry your computer showed (0x40: 0x2100)
@nashs.4206
@nashs.4206 3 жыл бұрын
8:18 Aren't ARM instructions 32 bits (so 4 bytes)? Since each memory address holds one byte, shouldn't the addresses be incrementing by 4 each time? Eg 0x40, then 0x44, then 0x48, etc.
@StateMachineCOM
@StateMachineCOM 3 жыл бұрын
The ARM Cortex-M CPU does NOT execute the classic "ARM" instructions. Instead, this CPU executes the THUMB2 instruction set, where most instructions are 16- bit, but some are 32-bit. This means that all instructions are aligned at even addresses, but not necessarily divisible by 4.
@nashs.4206
@nashs.4206 3 жыл бұрын
@@StateMachineCOM Thank you for your quick response! I'm so glad to see that you actively respond to your viewer's questions! I have been frustrated many a times by content creators who just post tutorial videos but don't participate in comment discussions.
@StateMachineCOM
@StateMachineCOM 11 жыл бұрын
OK, in the upcoming lessons I will explain how to generate the map file and I will show how to read it. --Miro
@rommelvillon6811
@rommelvillon6811 6 ай бұрын
Hello sir, I must be missing some setting because whenever I press DEBUG, it goes to startup code and all STEP buttons become inactive. By the way I am following this video using KEIL. The thing is it works whenever I am using your code . Do you have any video that shows the complete set up for KEIL uvision? Thanks for updating this series of lesson!
@tom950
@tom950 10 жыл бұрын
Hi, Thank you for this video, I am having problems with create new project.there are no project templates. all it has is "Empty Projects"
@tomfranky1744
@tomfranky1744 3 жыл бұрын
@Quantum Leaps, LLC, I'm using IAR version 8.50.9. There are 4 four Registers (1 to 4) and 4 Memories (1 to 4). Which one should I open to trace the code? Are Memory 1 and Register 1 adequate?
@godoftalesyt5454
@godoftalesyt5454 Жыл бұрын
I took a class in electronics and we used a microcontroller and programmed it with c++ but I never knew this all had to do with embedded system.
@DustinGriffith33
@DustinGriffith33 11 жыл бұрын
Where do I go to donate? This has been extremely helpful so I would like top give back to those that made my job so much easier.
@StateMachineCOM
@StateMachineCOM 11 жыл бұрын
I'm really glad that you liked the video. I'm not collecting any donations, but if you'd like to help, please spread the word about the course, so that others can benefit as well. For example, I think that a comment about this course on Embedded.com in one of their discussion forums could be very helpful. --MMS
@vidhyadhar64
@vidhyadhar64 10 жыл бұрын
Nice tutorial. The flow and style is great.. Did you write the narration script ahead of time? Thanks..
@StateMachineCOM
@StateMachineCOM 10 жыл бұрын
Yes, absolutely. I prepare a script and carefully optimize it for maximum content with minimal waste of time.
@shipper66
@shipper66 11 жыл бұрын
you are god, thanks for this! I will have to figure out how to transfer my programs from linux
@guzzar100
@guzzar100 5 жыл бұрын
Thanks a lot for the great work !
@nikhilchitroda6409
@nikhilchitroda6409 4 жыл бұрын
You are awesome ..😎💯
@cyberlightbeing
@cyberlightbeing 10 жыл бұрын
Brilliant! Many thanks!
@gryn1s
@gryn1s 10 жыл бұрын
Very nice tutorial! thank you
@lamarts100
@lamarts100 11 жыл бұрын
Great tutorial. Question...the memory view location does not have the same data as in the Disassembly view
@Saidkus
@Saidkus 9 ай бұрын
But the problem is that when we apply the same C code on keil uVision 5 with the Launchpad - to be able to debug, the way the code works is kind of different. It has used R1 as well as Sp and R0 . Is this difference related to the simulation?
@usualguy7583
@usualguy7583 7 ай бұрын
I am also using Keil. But I am not seeing R0 being used. I speculate SP used because we are initializing a local variable named "counter"
@birnodin
@birnodin 7 жыл бұрын
Haha - I am also many years in Programming, but I have only 10 fingers. :-( But Programming for a long time modifies the body. I have 4 eyes: One to look at the actual line of code, one for the CPU Registers, one for the Disassembly and the last one on the keyboard, because I never have been able to type without looking on the keyboard. ;-)
@basterma
@basterma 6 жыл бұрын
at 11:36 you say 4 bytes is a nibble. that is incorrect. a nibble represents 4 bits
@juanguillermo4713
@juanguillermo4713 5 жыл бұрын
how a great course, thank you so much for your effort. God bless you, he is coming soon, be ready.
@farooqmalik6856
@farooqmalik6856 8 жыл бұрын
Great lectures. I'm looking forward to complete it. In college we are using TI MSP430g2553 launchpad I'm wandering is it compatible with the lectures. Thanks again for the lectures especially introducing the IAR workbench simulator. In earlier course we used Edsim for 8051 which helped a lot to understand how the instructions work.
@StateMachineCOM
@StateMachineCOM 8 жыл бұрын
This course focuses on ARM Cortex-M, so most lessons use that specific CPU. However, lesson 11 and lesson 17 also used the MSP430g2553 LaunchPad to demonstrate differences between Cortex-M and a simpler CPU.
@Andyroo2912
@Andyroo2912 Жыл бұрын
Hi. I am trying to run the simple increment code using IAR on the STM32C031C6, but i keep getting an error saying "Download completed but verification faield." How can i fix it? Tue Jan 02, 2024 13:27:35: Verification error at 0x0: mem = 0xD0, file = 0x00
@StateMachineCOM
@StateMachineCOM Жыл бұрын
The projects for this lesson-01 (simulator-iar and simulator-keil) are designed to run in the simulators (IAR and KEIL, respectively). Given the names of these projects, I hope this should be clear. However, to run the code on an actual board, you must check which target is configured. When you do this (menu Project->Options, General Options category), you'll see that the project is configured for "Textas Instruments TM4C...". That's why it does not want to run on STM32 NUCLEO. To make it run, you need to select the ST -> STM32C031C6 Device in the General Options. You also need to change the debugger to ST-Link, but you know this already if you experience the problems. --MMS
@Andyroo2912
@Andyroo2912 Жыл бұрын
@@StateMachineCOM Thanks for the reply. I don't see the specific STM32c031C6 in the device list. Is there additional setup to be done? I tried to set the target as Cortex M0+ since the board wasnt there.
@StateMachineCOM
@StateMachineCOM Жыл бұрын
Hi Andrew. Please download a project for some later lessons, which are designed to run on actual boards. That way, you'll see the correct configuration for your STM32C031C6. For example, please download project lesson-04. This is actually general advice because "In embedded systems, nothing works until everything works." So, you need to look for a *working* project that is closer to what you're trying to achieve. I hope this makes sense to you. --MMS
@Andyroo2912
@Andyroo2912 Жыл бұрын
@@StateMachineCOMI only see projects for the STM32C031C6 in Kiel. Will i need to switch to kiel to follow along with this course then?
@StateMachineCOM
@StateMachineCOM Жыл бұрын
@@Andyroo2912 Got'ya. Lesson-04 shows only KEIL project for the STM32C031C6. But this MCU *is* available in IAR EWARM as well. You need to choose: ST first, and then within the ST category, STM32C0, and then STM32C0x1, and then finally STM32C031C6. Welcome to the convoluted logic of embedded systems :-) --MMS
@diptopal
@diptopal 10 жыл бұрын
Awesome tutorial. Which graphics editor did you use for your presentation?
@StateMachineCOM
@StateMachineCOM 10 жыл бұрын
The tutorial was recorded and edited in Screencast-O-matic professional edition.
@diptopal
@diptopal 10 жыл бұрын
Thank you very much.
@kylegoble1047
@kylegoble1047 6 жыл бұрын
Thank you so much for taking the time to make these videos. I already have a TI-C3200 Launchpad. How can I use it with the IAR workbench? The debugger driver is missing
@StateMachineCOM
@StateMachineCOM 6 жыл бұрын
By now, the desire to use a different embedded board or a different development toolchain it is perhaps the most frequently asked question. Unfortunately, it won't allow you to follow along and use the specific project files that accompany this course (at state-machine.com/quickstart ). To really benefit from this video course, you need the exact same hardware and software. The TivaC LauchPad has been selected specifically for its low cost ($12.99). Also, the course uses only free development toolchains (initially IAR EWARM KickStart, later TI CCS free edition, and later ARM-KEIL MDK evaluation version). --MMS
@parthbhimani00
@parthbhimani00 7 жыл бұрын
Is it possible to use code compiler studio without connecting launchpad to the computer? I mean CCS as simulator.
@TheNapolyon
@TheNapolyon 10 жыл бұрын
Are cortex m0+ and cortex m4f too different from each other? I'm planning to follow your videos, which I'm very thankful that you uploaded them in youtube, but my mcu is cortex m0+.
@dmitry.shpakov
@dmitry.shpakov Жыл бұрын
Some programmers have 16 fingers, but some have 2 fingers, there are also programmers who have 8 fingers, but they are rare.
@hayducate
@hayducate 5 жыл бұрын
i am using st-link(stm32f44xx).in the debugger and download session,which checkbox will i check??
@gauravminocha9335
@gauravminocha9335 8 жыл бұрын
What steps shall we follow to write(not copy) our own start up code for ARM Cortex-M4F, on Tiva-C board. So, we write a few assembly instructions all in one file, use an opensource assembler to convert it into binary and then use TI tool to flash it. If not possible to explain here, please redirect. Thanks!
@StateMachineCOM
@StateMachineCOM 8 жыл бұрын
The startup code is discussed in detail in the three lessons (13, 14, and 15). Please watch these lessons for more information.
@gauravminocha9335
@gauravminocha9335 8 жыл бұрын
yeah, Thanks!
@bashirabdi7840
@bashirabdi7840 9 жыл бұрын
Thanks this is a great tutorial. My question is I have OmapL138 development board and would like to use it with these examples could you please help me the settings. thanks
@StateMachineCOM
@StateMachineCOM 9 жыл бұрын
+Bashir Abdi The OmapL138 is a dual-core SoC with ARM926EJ-S and C674x DSP. The ARM9 core is the "classic" ARM, which is *different* than the ARM Cortex-M used in this course. (Of course there are some similarities, but ARM9 and Cortex-M have different instruction sets--ARM/THUMB vs THUMB-2, respectively). For these reasons this course is not applicable to your OmapL138.
@bhavana6217
@bhavana6217 4 жыл бұрын
during the 10 min mark, the value of the variable counter is stored in the internal register of the processor. Is every variable declared in the program mapped to an internal register? does that mean we only can have 12 local variables in the program? If not and we have more than 12, where are these variables stored?
@StateMachineCOM
@StateMachineCOM 4 жыл бұрын
Most variables, especially in larger programs, are **not** mapped to registers. Instead, variables are mapped to memory. However, to do anything with a variable, like read its value or to write a new value into it, the variable must be loaded into a CPU register. That way, the CPU registers constantly hold *different* variables. Only in the smallest programs you can say that "variable x is stored in the register R2", for example. I hope this makes sense...
@nashs.4206
@nashs.4206 3 жыл бұрын
@Bhavana Excellent question; this is also a question I have been struggling with for a long time. It turns out that different kinds of variables are stored in different places in a microcontroller. Here is my reddit post where I had a discussion with several members about this issue: www.reddit.com/r/embedded/comments/nzy2a8/where_are_the_different_parts_of_my_code_stored/ Hope the discussions help you out too!
@bareminimum-mrtz
@bareminimum-mrtz 5 жыл бұрын
Thank you so much for the effort 😀
@mimo2202
@mimo2202 5 жыл бұрын
Great Work! can I use the cortex M4 from STelectronics for this tutorial?
@StateMachineCOM
@StateMachineCOM 5 жыл бұрын
This is perhaps the most frequently asked question. The short answer is NO. To follow along this video course you need the exact board that is being used (TavaC LaunchPad). This is because the *peripherals* of this board are different than STM32, even though the CPU is the same Cortex-M4. I hope this makes sense. --MMS
@amernaseem2161
@amernaseem2161 5 жыл бұрын
I connected USB cable to debug port on the board. Other side of USB cable is connected to my PC. The power LED on the board is solid green. The factory pre-loaded demo program in the board is running because LED next to resistor R5 is continuously changing colors. In the control Panel, in devices and printers shows In-Circuit Debugger Interface. The status of this device is "Driver is unavailable". "Driver Error". "The drivers for this device are not installed. (Code 28)". Where do I get the driver for this device and how do I install it?
@StateMachineCOM
@StateMachineCOM 5 жыл бұрын
Please visit the companion web-page to this video course at: www.state-machine.com/quickstart/ Among other things, you can find there the USB drivers for the TivaC LaunchPad board, datasheets, manuals, troubleshooting guide, as well as all projects, transcripts, and videos. --MMS
@johnnyreidy4758
@johnnyreidy4758 9 ай бұрын
Great start to the course and looking forward to the rest. I do have one question about lesson 1. When I download and debug and step into, my program is counting (in hexadecimal) from R0 and not R1 like in your program. I have downloaded your program to my laptop and it counts from R1 (just like from your lesson) but for some reason my program counts from R0. Do you know why this might be or am I missing something. Thanks a lot.
@StateMachineCOM
@StateMachineCOM 9 ай бұрын
The most likely difference between "your program" and "my program" is a different optimization level of the C compiler. The upcoming lessons of the course explain the embedded build process, but the compiler has a lot of freedom in allocating the CPU registers. In particular, the use of R0 instead of R1 is perfectly legal. Also, one more comment about counting: The program is not "counting in hexadecimal." The CPU is always counting in binary. Only the debugger shows the values in hex, but you can change it to show decimals. --MMS
@blessedwarrior1
@blessedwarrior1 7 жыл бұрын
I looked at the IAR website and c99 dialect doesnt seems to appear here too "The IAR C/C++ compilers adhere to a freestanding implementation of the following C programming language standards: ISO/IEC 14882:2015, known as C++14 ISO/IEC 9899:2012, known as C11 ANSI X3.159-1989, known as C89"
@StateMachineCOM
@StateMachineCOM 7 жыл бұрын
The newer IAR EWARM (v8.11) seems no longer to support the C99 standard. Instead, they still support the C89 and C11. For this course, please select the newer C11 (ISO/IEC 9899:2011) language standard. --MMS
@takyon24
@takyon24 8 ай бұрын
Sorry if this has been covered somewhere already but can I follow this course on mac or linux? I have the hardware already. If not it's no worries, I will still benefit from studying these videos
@StateMachineCOM
@StateMachineCOM 8 ай бұрын
Yes, the question about using Linux or macOS host computers has been asked a lot. Here is my standard answer: You might try to install VSCode and then some extensions for embedded programming (e.g., please google for "Keil Studio extensions"). I've not tried it yet, so I can't comment on how it works in practice. The approach of this course is to provide the simplest and easiest path for getting started. And this means using the Windows environment because, for better or worse, historically the embedded community chose Windows as the primary development platform. That's why most embedded tools work on Windows first, and then maybe on other platforms. Today, you have other options, but if you are truly serious about embedded development, I would still recommend getting yourself a Windows machine. --MMS
@takyon24
@takyon24 8 ай бұрын
@@StateMachineCOM Thanks, I assumed Linux would be the standard OS. I'm going to try and follow along with Keil Studio for VS Code on my Linux machine. Cheers again for this fantastic resource.
@StateMachineCOM
@StateMachineCOM 8 ай бұрын
@@takyon24 Some embedded projects have indeed moved to Linux. For example, the Zephyr RTOS clearly prefers Linux (but again, what would you expect from a Linux foundation project?) Also, Linux is preferred for CI/CD work because it better supports containers like Docker. However, most of these things are also available on Windows (with WSL). Actually, Windows is making a come back. After all, the most popular and "sexy" VSCode is developed by... Microsoft. --MMS
@radicalgames9256
@radicalgames9256 2 жыл бұрын
Hello! What ide, and (virtual) board type can I use to follow this tutorial, if I'm on a (m1) mac?
@StateMachineCOM
@StateMachineCOM 2 жыл бұрын
All of this is described in the companion web-page to this course at www.state-machine.com/quickstart . But regarding the host operating system, I don't think that any of the software will run on the macOS. For better or worse, the embedded community has standardized around Windows. --MMS
@tweety01402
@tweety01402 10 жыл бұрын
i like your videos...i am more interested and i need some information...is this possible in IAR that we can watch the GPIO port in Analyzer or something like that...or if we design a graphic interface for the ports....if this is possible then how i can do that...
@karlmiller1899
@karlmiller1899 4 жыл бұрын
Thank you for the very good lessons. Now I installed the newest version of the IAR Embedded Workbench IDE. At the beginning of the compilation step I become the error message: Use error: Stack pointer is setup to incorrect alignment. Stack addr= 0xCDCD.... I am using the simulator and set up the IDE as mentioned in the previous video. Could someone help me please?
@karlmiller1899
@karlmiller1899 4 жыл бұрын
I found the solution my self. I started the debug without downloading. Starting the "Download and Debug" is fine!
@chandus2496
@chandus2496 10 жыл бұрын
Hi, I am programming with TI's LM4F. When I run the code, the compiler is showing error or warning for almost every line is the startup file. Without using the startup file all seems to be working well. It cannot be a trouble with the startup file itself because the same file is working with other IDE that I have tried(Keil uVision). It seems that the compiler is not recognizing the assembly language. Please help. Thanks. by the way, loved your course. it would be nice if you would make more videos. about using more advanced features on the board.
@StateMachineCOM
@StateMachineCOM 10 жыл бұрын
You must be using your own projects, because no projects accompanying this course have explicit startup code. They all use the default startup code provided by IAR. I am going to explain startup code in the upcoming lessons, because this is where you define the interrupt handlers in ARM Cortex-M, but we are not there yet. But just so you know, the startup code is generally not portable and is dependent on the compiler. So a startup code from a Keil uVision project won't work with IAR or GNU. --MMS
@chandus2496
@chandus2496 10 жыл бұрын
Thanks a lot. Could you tell me when will the next session on using the interrupts will come out. Cant wait.
@rajshah7433
@rajshah7433 4 жыл бұрын
For the current version of IAR EW i.e. 8.50.2, the dialect for C has only 1 option i.e. c89, so is it possible to complete tutorial with this selection of c89?
@StateMachineCOM
@StateMachineCOM 4 жыл бұрын
The tutorial specifically uses the older C89 (C90) standard, so that it can be compled to this C standard or a newer standards. For example, the code should also compile with C99 and C11 standards. --MMS
@mahmoudomran1013
@mahmoudomran1013 4 жыл бұрын
I don't have the C99 in the c dialect portion .I'd like to know if it's ok to work with C89 or C11
@StateMachineCOM
@StateMachineCOM 4 жыл бұрын
Yes, the newer versions of IAR EWAR no longer list C99. Please choose "Standard C" and you don't need to check any other boxes below. Also, in the 7 years since this lesson was made, the Device has been renamed (in the "General Options" category). The new name of essentially the same Device is now: TexasInstruments TM4C1237H6PM. --MMS
@ramakrishnants9945
@ramakrishnants9945 7 жыл бұрын
Hello Mr. Miro, I am using IAR EW 8.1.1 and when I try to view the registers in De-bugging mode, I am presented with multiple register and memory sets (sets 1 to 4). However, I see that when you select the views, it defaults to a single set. Has the architecture of the TI chipset changed, which is reflected in IAR? Which set should I choose?
@StateMachineCOM
@StateMachineCOM 7 жыл бұрын
The CPU has not changed. The new IAR EWARM 8.x simply offers multiple views for various registers, so that you can have them all open at the same time. The various registers that you can view are CPU registers, System registers, NVIC registers, and registers of various peripherals (e.g., GPIO). Just try it!
@omarayman5318
@omarayman5318 Жыл бұрын
Mr miro could I use SWO pin (for tracing ) capability using IAR workbench, I have tried many times but it did not work ! when I checked the debugger options of TI stellaries , i did NOT find any options for SWO pin nor tracing , on the other hand (J-link_ J-trace ) have SWO pin options , and a lot of people use tracing for them correctly. do you have any suggestions ?
@StateMachineCOM
@StateMachineCOM Жыл бұрын
The Stellaris ICDI debug interface does not seem to support SWO debugging. The TivaC LauchPad documentation says that there is an external (unpopulated) header in the debugger part of the board, where you can get to the SWO pin. But for debugging, it is much more convenient to use the UART, which *is* connected to the virtual COM port. I made two whole lessons about using this, please see lesson #45 (Software Tracing with printf) and lesson #46 (Software Tracing with QP/Spy). --MMS
@omarayman5318
@omarayman5318 Жыл бұрын
@@StateMachineCOM yeah at the time you wrote this comment I saw those videos thanks a lot
@VishalTalwar
@VishalTalwar 11 жыл бұрын
Great video, Miro! Are the instructions 2-bytes wide because of the Thumb encoding?
#2 How to change the flow of control through your code
10:59
Quantum Leaps, LLC
Рет қаралды 221 М.
What Actually is Embedded C/C++? Is it different from C/C++?
11:05
Jacob Sorber
Рет қаралды 158 М.
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
Creating Your Own Programming Language - Computerphile
21:15
Computerphile
Рет қаралды 211 М.
How To Learn Embedded Systems At Home | 5 Concepts Explained
10:34
I built my own 16-Bit CPU in Excel
15:45
Inkbox
Рет қаралды 1,7 МЛН
10 years of embedded coding in 10 minutes
10:02
Greidi Ajalik
Рет қаралды 421 М.
#5 Preprocessor and the "volatile" keyword in C
14:29
Quantum Leaps, LLC
Рет қаралды 140 М.
computers suck at division (a painful discovery)
5:09
Low Level
Рет қаралды 1,7 МЛН
7 Outside The Box Puzzles
12:16
MindYourDecisions
Рет қаралды 128 М.