Setting up CoIDE with GNU tools

For some time, I’ve been using Codebench ARM GCC tools for developing software for ARM microcontrollers. As IDE, I used plain Eclipse, which I had to configure by myself. It worked pretty well, and there is nothing wrong with this. Anyway, sometimes it gets a little annoying to keep an eye on configurations and manual settings. So I decided to give a try CooCox IDE which claims to be free and open. It seems that it already supports all the microcontrollers I like to use. Along with this change, I am also moving to a different GCC tool collection. Codebench free tools are great, but on the other hand, there are some limitations. One of them is release times. They release their free tools twice a year, so updates and other improvements cannot reach as fast as you’d expect.Another thing I am concerned – disabled hard float functionality. If you would like to ta take advantage of the floating-point unit in Cortex-M4, then you get stuck. If you are not using a hardware floating-point module, this tool works fine, and you can stick with it. Anyway, I wouldn’t say I like limitations, especially with free tools, so I switch to…

Continue reading

Xamarin Mobile Developers

If you haven’t heard of Xamarin before, you must have lived under a rock. Xamarin has been gaining more and more popular among mobile application developers. This framework for cross-platform app development works is straightforward, but the result you get will surprise you. You write one shared C# code having complete access to all SDK possibilities and native UI creation tools, and at the end, you get a perfectly native mobile application. Xamarin works wonders both as an Android development and as an iOS development tool. It is based on an open-source implementation of .NET – Mono. With Xamarin, you can use native UI development mechanisms and native UI elements for each platform, and the UI code layer is the only one you’ll need to write specifically for each platform.

Continue reading

Product Design Services

Every day we see objects around us, the best of which possess a combination of functionality and aesthetics.  Turning ideas into innovative products is a task for industrial design specialists.  Product design service plays a primary role in this process. The main challenge in product design is to make the future product attractive and functional at the same time.  The success of a product depends on appearance, ergonomics, and usability.  Therefore, product design today is trendy. The main objective of industrial design is to determine the functionality and features of future products. In this regard, a product may be distinguished by its adaptability for mass industrial production. Tough competition demands advanced innovation from manufacturers to increase sales.  One strategy to maintain competitiveness is to develop a new design or upgrade an existing product. In turn, developing tailored solutions requires the use of experimental design studios and appropriate software.

Continue reading

You know basics of ARM. Whats next?

You’ve probably noticed that day by day, and more complex hardware gets closer to a user. Of course, I am talking about microcontrollers and processors. Several years ago, it was a challenge to have running Linux on board. Now almost everyone has Raspberry Pi and doing crazy things. As I have noticed, not many hobbyists are building their boards to get things done. There is a wide variety of ready-made developing boards depending on size, speed, price that it looks not worth spending time on what’s already done. Everyone seems to be grabbing Arduino and building amazing projects. In a couple of years, enthusiasts used to crunch ARM projects like cookies. This is thanks to the choice of cheap development boards and improving free software tools. But the most critical role in this is the manufacturers. They finally noticed that the hobby market could be a powerful driving mechanism. Ignoring it means losing the game. Now almost every hardware company is trying to get their development board closer to the maker and hacker community because they like to build stuff and spread the word about it.

Continue reading

Choosing right programmer for AVR microcontrollers

Once you start building something with microcontrollers, one thing you need to take into account is a programming adapter. This is a device that allows uploading compiled code into the chip. I don’t know if this is still fun to build your DIY programming adapter, which is not guaranteed to support all chips, nor will it be safe and reliable. AVR microcontroller niche is one of the most interesting when talking about programmers. If you look at the AVRDUDE configuration file, you will find that there are about 50 of them. Many of them are DIY, while others are official. When I started with microcontrollers, I also was looking for a cheap and easy to build programming adapter. So I have built several if a few years. The first of them was RS232 based programmer that worked with then-popular PonyProg software. Later followed LPT port programmer:

Continue reading

Using current limiting resistors on AVR I/O pins

Today I want to talk about protecting digital Inputs of AVR or any other microcontroller from over-voltages. When you look at most microcontroller circuits found on the internet shared by hobbyists, you don’t find any input protection. Some argue that this is not needed or don’t understand in most cases how it works. Let’s see how a simple resistor can save the day. Lets see at simplified version of digital input of AVR microcontroller. We can see there that input uses CMOS logic where the transistor is switched by voltage. According to the AVR datasheet, the gate control voltage should stay within the -0.5V to VCC+0.5V range. If we power our device with a 5V supply, we need to ensure that the pin input voltage stays in the range of -0.5 to 5.5V. When the input voltage source is taken from the same power supply, we don’t have to worry much about it. But what if AVR is accepting digital signals from other sources like sensors, other devices powered by their power supplies. Can we be sure that voltage will always be within safe limits? This is why there are two clamping diodes (sometimes called ESD protection diodes) used. They…

Continue reading

Networking with Cisco and certification

Probably many of you have heard about Cisco Systems. It is a large corporation based in America, California. It primarily designs and manufactures networking equipment. Linksys routers are one of the well-known brands. They are known for their great performance, flexibility, and reliability. No doubt Cisco does its job great in this sector. But Cisco is known for a wider variety of products and services. Besides basic consumer routers, they produce other network equipment like VPN, network storage, VOIP conferencing systems. Ccie routing and switching are simple and versatile, which is suitable for any business and computing.

Continue reading

The best solution in Atlanta to all my data recovery problems

When you remain stuck in late evening Atlanta traffic after a delayed flight holding you back at an alien city airport for a good part of a day, there’s hardly anything that can seemingly go wrong! I lived through all these irritations upon my return to Atlanta last month, only to realize that humans can never have enough patience to deal with the vagaries of life. I had rather excitedly plugged in my portable hard drive into my laptop to watch a movie, only to see nothing happening to the computer! My little ten-year-old daughter came running up to me to tell me how the drive had stopped working a few days back. Gosh – there was a terrible expense staring me right in the eye. It didn’t take me long to recollect memories of how I’d ended up paying four times the price of the hard drive the last time my little kid had dropped it off from the computer table. Not sure if the guys at the data recovery lab were rubbing it in when they told me that I’d damaged data clusters by trying to screw-drive my way through the hard drive case. The data that the…

Continue reading

Bit Band operations with ARM Cortex microcontrollers

I got few questions from our readers about the bit-band feature in ARM Cortex microcontrollers. It may seem to be a prominent topic, still may lead to come confusion while using bit-banding. So let’s look at this feature a little bit closer. Why use bit band? Simply speaking Bit banding method allows performing atomic bitwise operations to memory areas. Why use bit banding? The most straightforward answer is because ARM Cortex doesn’t have something like BIT CSET or BIT CLEAR commands like most of the 8-bit microcontrollers do. So this is somewhat a workaround solution. Another question may rise – Why not using the read-modify-write method? Again this method is not reliable in some cases. For instance, f there is an interrupt during this operation; it can cause data corruption. Other situation may occur in embedded OS when different tasks may modify the same memory location. So we want a method that allows setting or clear individual bits with a single instruction. This is where the bit band method helps.

Continue reading