Rockchip RK3188 Linux Source Code is Now Available

Good news! I’ve just read Rockchip RK3188 Linux source code has just been released via Rikomagic, and Alok Sinha, the main maintainer of RK3066 source code, has already imported into github, and we should soon see a PicUntu image for RK3188 mini PCs. Let’s have a look:

[Update: you may have to run “sudo apt-get install libc6-i386” before running make_kernel_ruikemei.sh below, as mkkrnlimg is a 32-bit binary] Usually, I immediately look into arch/arm/configs, but this time, there’s a “funny” script called make_kernel_ruikemei.sh, and .config already have some CONFIG_RK3188, so let’s run it:

After just over a minute, success!:

This kernel image is for Android only, and there’s a little work to modify it as a “pure” Linux kernel, so that it can be used to boot PicUnutu for RK3188. Let’s go back to arch/arm/configs, and we’ll find several RK3188 configs: rk3168_86v_defconfig rk3188_dongle_defconfig rk3188_ds1006h_defconfig rk3188_ds1006h_v1_0_defconfig rk3188_hotdog_defconfig rk3188_LR097_defconfig rk3188_magicwand_defconfig […]

Bluetooth Versions Walkthrough, and Bluetooth 4.0 Low Energy Development Resources

I’ve seen more and more Bluetooth 4.0 LE devices in the last few months including RFDuino, Wimoto Motes, TI SensorTag, and Scadanu Scout, so I thought it would be good to write a bit about Bluetooth. First, I’ll write about the different version of Bluetooth, since I was still confused with the practical implications between the versions, and then I’ll show some development kits and software resources to play around and/or develop Bluetooth 4.0 LE applications both on devices and hosts. Bluetooth Versions Bluetooth v1.0 and v1.0B The Bluetooth 1.0 Specification was released in 1999, and according to an entry in Wikipedia, 1.0 and 1.0B devices had many issues, mainly interoperability issues. You won’t find any Bluetooth 1.0 device today. Bluetooth v1.1 Bluetooth v1.1 was ratified as IEEE Standard 802.15.1-2002 in 2002. It fixed many issues found in the previous specifications, added the option to use non-encrypted channels, as well […]

How to Find Configuration Options Quickly in Make Menuconfig

If you’ve ever compiled the Linux kernel, you’ll know make menuconfig is the command line used to unset/set options, disable/enable modules in order to match your hardware and requirements. I used to simply browse in the menu to find the option, and just remember the correct path. Sometimes I just looked at .config to locate the option I needed, and the possible path in make menuconfig. The first time you use a new option it can be time consuming. But I’ve just found there is a better way via Google+. “/” is actually available in make menuconfig, just like it is in vi/vim. If you want to enable NFS server in your kernel, press “/”, and search for NFSD. It will show the list of results with “NFSD” strings. NFS server support is right at the top, and the path is shown to be File Systems->Network File Systems. The neat […]

2013 Embedded Market Study – Software Development & Processors

UBM releases a study of the embedded market every year, by surveying over 1,000 embedded professional every year. They’ve just published their 2013 Embedded Market Study (85 pages report), after surveying over 2,000 engineers and managers, so let’s see whether anything has evolved in the software development and processor space compared to 2012. Again this year, most respondents are based in the US (62%), followed by Europe (20%), and Asia (12%). C/C++ languages still rule the embedded world with 81% market share, although a little less than last year (85%), assembler is a distant third (5%). Interestingly, the average size of development teams seems to have shrunk from 15.9 in 2012 to 14.6 in 2013, the average project being composed of 4 software engineers, 2.9 hardware engineers, 2.7 firmware engineers, 2 QA/Test engineers, 1.5 system integrators, and 1.5 with other functions. About a third of project last less than 6 […]

Installing Android Studio IDE in Ubuntu – Hello World Application

Google I/O started yesterday, and Google released an early access preview version of Android Studio, a new IDE based on IntelliJ IDEA with drag-and-drop GUI layout editor, Gradle-based build system, Lint tools, the ability to preview how apps look on different screen sizes, and more. This may eventually replace the Eclipse + ADT Plugin combination currently used, so I’ve decided to give it a try in Ubuntu 13.04 64-bit, but it’s also available for Windows and Mac OS X. First, head over to Android Studio Installation instructions, and download Android Studio for you operating system via your Browser (You’ll have to accept an EULA), then open a terminal to extract it:

Now let’s start Android Studio:

And I did press enter to continue, but Android Studio complained about JAVA_HOME no being defined. Let’s just install Sun Oracle JAVA JDK since this is the recommended method. I’ve used the  […]

Linaro Releases IKS big.LITTLE Implementation Source Code

Yesterday, Linaro announced the released of the IKS (In-kernel switcher) implementation for big.LITTLE processor which allows the SoC to switch between individual Cortex A7 or Cortex A15 cores to optimize power consumption. Currently, the only consumer device using supporting big.LITTLE the Samsung Galaxy S4 thanks to Samsung Exynos 5 Octa featuring 4 ARM Cortex A7 and 4 ARM Cortex A15 cores. IKS implementation can only make use of 4 cores at a time in this processor, since it must choose between A7 or A15 depending on the load. HMP (Heteregenous Multi-Processing) implementation is currently worked on in order to be able to use all 8 cores, and distributes tasks to the right core for the job. You can read my previous post for differences between IKS and HMP. Linaro explains the current source still needs a few more modifications before being upstream to mainline. The code was developed for and […]

Linaro 13.04 Release With Linux Kernel 3.9 and Android 4.2.2

Linaro 13.04 has just been released. It features Linux Kernel 3.9-rc7 and Android 4.2.2. A lot of work has been done on ARMv8 (Cortex A53) with further work on OpenEmbedded, more testing, and updates to the GCC toolchain. Calxeda EnergyCore server has been added to LAVA, Origen Quad now gets hardware video acceleration in Android Jelly Bean. Still more cleanup has been done on the kernel side with regards to Samsung and ST SoC, and a big.LITTLE porting guide is now available (linaro login required). Here are the highlights of this release: LAVA Prototype of a new publishing system is used to overcome performance problems with android-build.linaro.org. Calxeda EnergyCore support is merged in LAVA, and an isolated system has been set up for web benchmarking. Fedora support is merged in LAVA. A user can submit LAVA jobs using a Fedora pre-built image. Boot commands are untangled from LAVA dispatcher. They’re now […]

Allwinner Showcases A20, A31 and A31s Devices: Tablets, Phablets, Mini PCs, Projectors, Laptops, Development Boards…

ibenX_GamePad

Charbax is now at the China Sourcing Fair in Hong Kong, meeting and interviewing lots of Chinese companies. One of the companies I’ve been following is AllWinner because of their low-cost ARM Cortex processors, found in many Android devices, which somewhat support Linux. In the video below, we first learn they have shipped 1 million A31 in the last 4 months, A31s and A20 processors have been available since the end of March for phablets, and A20 price is supposed to be very close to A10. So products based on AllWinner A10 could be upgraded to AllWinner A20 for just a few dollars more as both SoC are (nearly) pin to pin compatible. By the way, if you’re interested in the Cubieboard, you may want to see this. We then go through lots of devices based on AllWinner SoC, albeit too fast to get many details, but the list may […]

EmbeddedTS embedded systems design