1. ARMology

    When last time I was in Cambridge we had a discussion about ARM processors. Paweł used term “ARMology” then. And with recent announcement of Cortex-A12 cpu core I thought that it may be a good idea to write a blog post about it.

    Please note that my knowledge of ARM processors started in 2003 so I can make mistakes in everything older. Tried to understand articles about old times but sometimes they do not keep one version of story.

    Ancient times

    ARM1 got released in 1985 as CPU add-on to BBC Micro manufactured by Acorn Computers Ltd. as result of few years of research work. They wanted to have new processor to replace ageing 6502 used in BBC Micro and Acorn Electron and none of existing ones did not fit their requirements. Note that it was not market product but rather development tool made available for selected users.

    But it was ARM2 which landed in new computers — Acorn Archimedes (1987 year). Had multiply instructions added so new version of instruction set was created: ARMv2. Just 8MHz clock but remember that it was first computer with new CPU

    Then ARM3 came — with cache controller integrated and 25MHz clock. ISA was bumped to ARMv2a due to SWP instruction added. And it was released in another Acorn computer: A5000. This was also used in Acorn A4 which was first ARM powered laptop (but term “ARM Powered” was created few years later). I hope that one day I will be able to play with all those old machines…

    There was also ARM250 processor with ARMv2a instruction set like in ARM3 but no cache controller. But it is worth mentioning as it can be seen as first SoC due to ARM, MEMC, VIDC, IOC chips integrated in one piece of silicon. This allowed to create budget versions of computers.

    ARM Ltd.

    In 1990 Acorn, Apple and VLSI co-founded Advanced RISC Machines Ltd. company which took over research and development of ARM processors. Their business model was simple: “we work on cpu cores and other companies pay us license costs to make chips”.

    Their first cpu was ARM60 with new instruction set: ARMv3. It had 32bit address space (compared to 26bit in older versions), was endian agnostic (so both big and little endian was possible) and there were other improvements.

    Please note lack of ARM4 and ARM5 processors. I heard some rumours about that but will not repeat them here as some of them just do not fit when compared against facts.

    ARM610 was powering Apple Newton PDA and first Acorn RiscPC machines where it was replaced by ARM710 (still ARMv3 instruction set but ~30% faster).

    First licensees

    You can create new processor cores but someone has to buy them and manufacture… In 1992 GEC Plessey and Sharp licensed ARM technology, next year added Cirrus Logic and Texas Instruments, then AKM (Asahi Kasei Microsystems) and Samsung joined in 1994 and then others…

    From that list I recognize only Cirrus Logic (used their crazy EP93xx family), TI and Samsung as vendors of processors ;D

    Thumb

    One of next cpu cores was ARM7TDMI (Thumb+Debug+Multiplier+ICE) which added new instruction set: Thumb.

    The Thumb instructions were not only to improve code density, but also to bring the power of the ARM into cheaper devices which may primarily only have a 16 bit datapath on the circuit board (for 32 bit paths are costlier). When in Thumb mode, the processor executes Thumb instructions. While most of these instructions directly map onto normal ARM instructions, the space saving is by reducing the number of options and possibilities available — for example, conditional execution is lost, only branches can be conditional. Fewer registers can be directly accessed in many instructions, etc. However, given all of this, good Thumb code can perform extremely well in a 16 bit world (as each instruction is a 16 bit entity and can be loaded directly).

    ARM7TDMI landed nearly everywhere - MP3 players, cell phones, microwaves and any place where microcontroller could be used. I heard that few years ago half of ARM Ltd. income was from license costs of this cpu core…

    ARM7

    But ARM7 did not ended at ARM7TDMI… There was ARM7EJ-S core which used ARMv5TE instruction set and also ARM720T and ARM740T with ARMv4T. You can run Linux on Cirrus Logic CLPS711x/EP721x/EP731x ones ;)

    According to ARM Ltd. page about ARM7 the ARM7 family is the world’s most widely used 32-bit embedded processor family, with more than 170 silicon licensees and over 10 Billion units shipped since its introduction in 1994.

    ARM8

    I heard that ARM8 is one of those things you should not ask ARM Ltd. people about. Nothing strange when you look at history…

    ARM810 processor made use of ARMv4 instruction set and had 72MHz clock. At same time DEC released StrongARM with 200MHz clock… 1996 was definitively year of StrongARM.

    In 2004 I bought my first Linux/ARM powered device: Sharp Zaurus SL-5500.

    ARM9

    Ah ARM9… this was huge family of processor cores…

    ARM moved from a von Neumann architecture (Princeton architecture) to a Harvard architecture with separate instruction and data buses (and caches), significantly increasing its potential speed.

    There were two different instruction sets used in this family: ARMv4T and ARMv5TE. Also some kind of Java support was added in the latter one but who knows how to use it — ARM keeps details of Jazelle behind doors which can be open only with huge amount of money.

    ARMv4T

    Here we have ARM9TDMI, ARM920T, ARM922T, ARM925T and ARM940T cores. I mostly saw 920T one in far too many chips.

    My collection includes:

    • ep93xx from Cirrus Logic (with their sick VFP unit)
    • omap1510 from Texas Instruments
    • s3c2410 from Samsung (note that some s3c2xxx processors are ARMv5T)

    ARMv5T

    Note: by ARMv5T I mean every cpu never mind which extensions it has built-in (Enhanced DSP, Jazelle etc).

    I consider this one to be most popular one (probably after ARM7TDMI). Countless companies had own processors based on those cores (mostly on ARM926EJ-S one). You can get them even in QFP form so hand soldering is possible. CPU frequency goes over 1GHz with Kirkwood cores from Marvell.

    In my collection I have:

    • at91sam9263 from Atmel
    • pxa255 from Intel
    • st88n15 from ST Microelectronics

    Had also at91sam9m10, Kirkwood based Sheevaplug and ixp425 based NSLU2 but they found new home.

    ARM10

    Another quiet moment in ARM history. ARM1020E, ARM1022E, ARM1026EJ-S cores existed but did not looked popular.

    UPDATE: Conexant uses ARM10 core in their next generation DSL CPE systems such as bridge/routers, wireless DSL routers and DSL VoIP IADs.

    ARM11

    Released in 2002 as four new cores: ARM1136J, ARM1156T2, ARM1176JZ and ARM11 MPCore. Several improvements over ARM9 family including optional VFP unit. New instruction set: ARMv6 (and ARMv6K extensions). There was also Thumb2 support in arm1156 core (but I do not know did someone made chips with it). arm1176 core got TrustZone support.

    I have:

    • omap2430 from Texas Instruments
    • i.mx35 from Freescale

    Currently most popular chip with this family is BCM2835 GPU which got arm1136 cpu core on die because there was some space left and none of Cortex-A processor core fit there.

    Cortex

    New family of processor cores was announced in 2004 with Cortex-M3 as first cpu. There are three branches:

    • Aplication
    • Realtime
    • Microcontroller

    All of them (with exception of Cortex-M0 which is ARMv6) use new instruction sets: ARMv7 and Thumb-2 (some from R/M lines are Thumb-2 only). Several cpu modules were announced (some with newer cores):

    • NEON for SIMD operations
    • VFP3 and VFP4
    • Jazelle RCT (aka ThumbEE).
    • LPAE for more then 4GB ram support (Cortex A7/12/15)
    • virtualization support (A7/12/15)
    • big.LITTLE
    • TrustZone

    I will not cover R/M lines as did not played with them.

    Cortex-A8

    Announced in 2006 single core ARMv7a processor core. Released in chips by Texas Instruments, Samsung, Allwinner, Apple, Freescale, Rockchip and probably few others.

    Has higher clocks than ARM11 cores and achieves roughly twice the instructions executed per clock cycle due to dual-issue superscalar design.

    So far collected:

    • am3358 from Texas Instruments
    • i.mx515 from Freescale
    • omap3530 from Texas Instruments

    Cortex-A9

    First multiple core design in Cortex family. Allows up to 4 cores in one processor. Announced in 2007. Looks like most of companies which had previous cores licensed also this one but there were also new vendors.

    There are also single core Cortex-A9 processors on a market.

    I have products based on omap4430 from Texas Instruments and Tegra3 from NVidia.

    Cortex-A5

    Announced around the end of 2009 (I remember discussion about something new from ARM with someone at ELC/E). Up to 4 cores, mostly for use in all designs where ARM9 and ARM11 cores were used. In other words new low-end cpu with modern instruction set.

    Cortex-A15

    The fastest (so far) core in ARMv7a part of Cortex family. Up to 4 cores. Announced in 2010 and expanded ARM line with several new things:

    • 40-bit LPAE which extends address range to 1TB (but 32-bit per process)
    • VFPv4
    • Hardware virtualization support
    • TrustZone security extensions

    I have Chromebook with Exynos5250 cpu and have to admit that it is best device for ARM software development. Fast, portable and hackable.

    Cortex-A7

    Announced in 2011. Younger brother of Cortex-A15 design. Slower but eats much less power.

    Cortex-A12

    Announced in 2013 as modern replacement for Cortex-A9 designs. Has everything from Cortex-A15/A7 and is ~40% faster than Cortex-A9 at same clock frequency. No chips on a market yet.

    big.LITTLE

    That’s interesting part which was announced in 2011. It is not new core but combination of them. Vendor can mix Cortex-A7/12/15 cores to have kind of dual-multicore processor which runs different cores for different needs. For example normal operation on A7 to save energy but go up for A15 when more processing power is needed. And amount of cores in each of them does not even have to match.

    It is also possible to make use of all cores all together which may result in 8-core ARM processor scheduling tasks on different cpu cores.

    There are few implementations already: ARM TC2 testing platform, HiSilicon K3V3, Samsung Exynos 5 Octa and Renesas Mobile MP6530 were announced. They differ in amount of cores but all (except TC2) use the same amount of A7/A15 cores.

    ARMv8

    In 2011 ARM announced new 64-bit architecture called AArch64. There will be two cores: Cortex-A53 and Cortex-A57 and big.LITTLE combination will be possible as well.

    Lot of things got changed here. VFP and NEON are parts of standard. Lot of work went into making sure that all designs will not be so fragmented like 32-bit architecture is.

    I worked on AArch64 bootstrapping in OpenEmbedded build system and did also porting of several applications.

    Hope to see hardware in 2014 with possibility to play with it to check how it will play compared to current systems.

    Other designs

    ARM Ltd. is not the only company which releases new cpu cores. That’s due to fact that there are few types of license you can buy. Most vendors just buy licence for existing core and make use of it in their designs. But some companies (Intel, Marvell, Qualcomm, Microsoft, Apple, Faraday and others) paid for ‘architectural license’ which allows to design own cores.

    XScale

    Probably oldest one was StrongARM made by DEC, later sold to Intel where it was used as a base for XScale family with ARMv5TEJ instruction set. Later IWMMXT got added in PXA27x line.

    In 2006 Intel sold whole ARM line to Marvell which released newer processor lines and later moved to own designs.

    There were few lines in this family:

    • Application Processors (with the prefix PXA).
    • I/O Processors (with the prefix IOP)
    • Network Processors (with the prefix IXP)
    • Control Plane Processors (with the prefix IXC).
    • Consumer Electronics Processors (with the prefix CE).

    One day I will undust my Sharp Zaurus c760 just to check how recent kernels work on PXA255 ;D

    Marvell

    Their Feroceon/PJ1/PJ4 cores were independent ARMv5TE implementations. Feroceon was Marvell’s own ARM9 compatible CPU in Kirkwood and others, while PJ1 was based on that and replaced XScale in later PXA chips. PJ4 is the ARMv7 compatible version used in all modern Marvell designs, both the embedded and the PXA side.

    Qualcomm

    Company known mostly from wireless networks (GSM/CDMA/3G) released first ARM based processors in 2007. First ones were based on ARM11 core (ARMv6 instruction set) and in next year also ARMv7a were available. Their high-end designs (Scorpion and Krait) are similar to Cortex family but have different performance. Company also has Cortex-A5 and A7 in low-end products.

    Nexus 4 uses Snapdragon S4 Pro and I also have S4 Plus based Snapdragon development board.

    Faraday

    Faraday Technology Corporation released own processors which used ARMv4 instruction set (ARMv5TE in newer cores). They were FA510, FA526, FA626 for v4 and FA606TE, FA626TE, FMP626TE and FA726TE for v5te. Note that FMP626TE is dual core!

    They also have license for Cortex-A5 and A9 cores.

    Project Denver

    Quoting Wikipedia article about Project Denver:

    Project Denver is an ARM architecture CPU being designed by Nvidia, targeted at personal computers, servers, and supercomputers. The CPU package will include an Nvidia GPU on-chip.

    The existence of Project Denver was revealed at the 2011 Consumer Electronics Show. In a March 4, 2011 Q&A article CEO Jen-Hsun Huang revealed that Project Denver is a five year 64-bit ARM architecture CPU development on which hundreds of engineers had already worked for three and half years and which also has 32-bit ARM architecture backward compatibility.

    The Project Denver CPU may internally translate the ARM instructions to an internal instruction set, using firmware in the CPU.

    X-Gene

    AppliedMicro announced that they will release AArch64 processors based on own cores.

    Final note

    If you spotted any mistakes please write in comments and I will do my best to fix them. If you have something interesting to add also please do a comment.

    I used several sources to collect data for this post. Wikipedia articles helped me with details about Acorn products and ARM listings. ARM infocenter provided other information. Dates were taken from Wikipedia or ARM Company Milestones page. Ancient times part based on The ARM Family and The history of the ARM CPU articles. The history of the ARM architecture was interesting and helpful as well.

    Please do not copy this article without providing author information. Took me quite long time to finish it.

    Changelog

    8 June evening

    Thanks to notes from Arnd Bergmann I did some changes:

    • added ARM7, Marvell, Faraday, Project Denver, X-Gene sections
    • fixed Cortex-A5 to be up to 4 cores instead of single.
    • mentioned Conexant in ARM10 section.
    • improved Qualcomm section to mention which cores are original ARM ones, which are modified.

    David Alan Gilbert mentioned that ARM1 was not freely available on a market. Added note about it.

    Written by Marcin Juszkiewicz on
  2. Arch Linux ARM on Chromebook

    Yesterday I spent a bit of time reading a thread on Arch Linux ARM forum about their issues with Samsung ARM Chromebook. And found interesting information there.

    Why Arch Linux ARM? Because they posted guide for replacing original U-Boot with normal one. I plan to make some modifications to my Chromebook (once it return from service as I want my speakers back) and this will be one of them (other will be serial ports).

    If someone want to try this distribution then Craig Errington describes on his blog how to install XFCE. I did not used it and do not plan to but will check for tweaks and hints to get my Ubuntu experience better.

    So if you play with running other distributions than ChromeOS on you Chromebook then check their forum — maybe you will find something useful as well.

    Written by Marcin Juszkiewicz on
  3. Booted my Dragonboard

    During ELCE in Barcelona I spoke with guys from Qualcomm about their new board, what it is etc. Some time later guys from Intrinsyc (manufacturer of board) contacted me with free coupon for it. I ordered board and received few days later. Played a bit then but my Linaro work occupied me so it went back to the box.

    During Linaro Connect in Hong Kong I bought small mini-ITX case to have a way of storing Dragonboard in safe way under desk as I thought that it may be interesting machine for doing some ARM development. There is SATA, Ethernet, USB 2.0 on board so why not…

    It came with Android 4.0.4 installed on on-board eMMC. I hope to replace it with Ubuntu or Debian one day. But first have to get kernel newer than 3.0 working on it.

    Which may lead into usual problem — there is only vendor kernel for it as mainline lacks support for it. Probably kernel/msm repository from CodeAurora will be fine. Will see.

    My new FM radio
    My new FM radio

    A bit to big to be useful as FM radio but had to check it ;D

    Written by Marcin Juszkiewicz on
  4. My time at Linaro is over

    Today is my last day at Linaro. And this time it is for real (compared to “So long, and thanks for all the fish” post).

    Often people asked me what I like at Linaro. It is openness with the “upstream first!” motto and the team. People with wide experience, open to share their knowledge, many FOSS world celebrities… I will miss those guys.

    And this time I will not write summary of what I did at Linaro — most of the things worth mentioning were already mentioned (see archives).

    So today I am changing mailing lists subscriptions, pass over maintenance of OpenEmbedded layers to Riku Voipio and other things related to my leave.

    But who knows when our tracks will cross again. I think we will meet at FOSS conferences…

    Written by Marcin Juszkiewicz on
  5. My UK trip — Cambridge

    Cambridge is nice city. I was there at least once every year since 2009: OEDEM 2009, Emdebian sprint in 2010, during Linaro Connect q3.11, ARMv8 sprint in 2012. But this time it was not work related visit.

    Saturday

    It was evening when I reached Cambridge. Paweł took me from the train station and I had occasion to see their new house and how they plan to restructure it. We discussed some things, spoke a bit (mostly I) about ARMology (history of ARM cores) and day ended.

    Sunday

    Lazy day spent on wandering around in the centre of Cambridge. I could go to Ely or Norwich instead but decided to just take a long walk and see places which I already saw before and find something new as well.

    One of new places was Market Square Street Market where many local products could be bought and/or tried. Ostrich burgers, cakes, cookies, cheese, different things made from wood, metal or screws, jewellery made from misc materials like buttons. There were books, movies, music on CDs and vinyls, paintings, different kind of food to buy/taste… And many other things. I spent probably an hour there just walking and checking what do they have on offer.

    But as it was yet another quite windy day I decided to buy some wind proof jacket. Visited few shops but did not find anything (finally bought one day later). My cold was already at advanced phase ;(

    But it was well spent day. I saw many new places, reminded already visited ones but (mostly due to cold) did not took any pictures.

    Monday

    I had an appointment with Andrew Wafaa so we met for lunch at the Oak Bistro. Discussed about misc things (like end of my job at Linaro) and at the end I gave him MicroSD adapter which does not stick out from Chromebook. He told me few hours later that it was a problem to get it back from people later during day ;)

    After lunch I went to the Whipple Museum. Interesting exhibition. Models of human body, lot of scientific equipment from few centuries. Really worth visiting.

    Day ended with visit at 40th Cambridge Beer Festival. I like how event was organized. “No glass, no service” means you can bring your own glass or pay 2.5GBP deposit for event one. There was wide choice of beers, ciders, perries (cider like make from pears), meads and wines. You could buy whole, half or third of pint (meads and wines were sold in 175ml portions) which made tasting easier.

    Tuesday

    I reserved that day for beer festival only. Leif took day off so we could spend it together there. The only problem was when on Monday’s evening I realized that we forgot to share any usable contact information but we managed to find each other at one of social networking websites.

    So beer… I bought several ones and tried even more from local friends. In the official application I marked (random order):

    • Curious (bitter)
    • Summer Virgin (golden ale)
    • Nero (stout)
    • Ruby… don’t take your beer to town” (dark mild)
    • Krasny Red (bitter, IPA style)
    • Pegasus (bitter)
    • Honeypot (speciality which I got rid to urinal after few sips)
    • Golden Kiwi (golden ale)
    • Bohemium Lager (lager)
    • Zulu (porter)

    But there were also other ones and “Dark Mead” for the end of day. With thanks of Leif and Steve I found out what is a source of that strange taste I call “English beer taste” which I am not a fan of. According to Steve it is due to hops.

    It was great day due to beer and people I met: Andy, Neil, Steve, Leif, Maria and others.

    Wednesday

    The last day in Cambridge. Went to Fitzwilliam museum to take a look at the art. And I have to admit that I prefer art from 18-19th centuries rather than modern one.

    Eat lunch, packed bags and then went to Stansted airport. Funny moment at security gate where officer asked me about amount of cellphones in my bag. There were just two of them: Nexus 4 and Chinese E6 one (plus Kindle and Nexus 7 tablet). Probably it was just routine control ;D

    And after around 9 hours I finally arrived at home…

    Conclusion

    It was good trip, I enjoyed every day of it (even with cold), managed to visit most of the places I planned to, met friends and spent time in other way than usually.

    Written by Marcin Juszkiewicz on
  6. My UK trip — London

    I was few times in London but always on business without time for sightseeing so decided to change it.

    Day one

    After few hours trip landed at London Gatwick airport. Some say that’s worst one of five but was not so bad. Why there? Because I could and I was on Stansted, Luton and Heathrow already (plan to use City one next time). Short trip to the city and hello Victoria station — long time no see

    Bought Oyster card to use public transport in easiest way and took a metro train to hotel. Nothing fancy — just cheap (65£ per night) hotel without any extras (but with working free WiFi).

    Unpacked only needed things and went to city centre. Victoria monument, Buckingham Palace, the Mall etc. More or less followed the most popular trip from the “Trip Advisor” application.

    3118
    3126
    3128
    3130
    3115
    3133

    Went to Thames, crossed with one bridge, looked at London Eye (and decided to skip it) and then Big Ben and Westminster Abbey were next. I considered returning to the Abbey next day but later decided against it.

    3136
    3145
    3150
    3152
    3154
    3155
    3161

    Grabbed some food and went to sleep early as it was 3rd day when I woke up around 5:00.

    Day two

    Thursday… Skipped Westminster Abbey and went by foot to the British Museum. Met Mark Brown on a way and we had good time looking at all those things which British Empire had stolen from all around the world. We didn’t managed to find Britain sections.

    After lunch I went to the Forbidden Planet store. And sunk there for quite long time. Then got back to buy two more books. This place was amazing…

    3172

    They had stuff related to movies, games, tv series - figurines, key chains, t-shirts, toys, rings/jewellery, helmets, weapons and other… Some from limited editions. But when I wondered “is that’s all?” I went to the basement. And sank.

    Comics, books, movies, tv series, manga, anime, photo albums and more. Books about movies, books which movies were based on (and vice versa). “Darth Vader’s princess” and “Darth Vader and his son” were there (9£ each), “Simon’s cat” books which my daughter would love (so I bought one), lot of SF and fantasy books in nice editions (Asimov for example).

    3170
    3171
    3167
    3165
    3168
    3169

    Big book of butts” looked funny. Next one was “Big book of legs” next to “pin-up girls” and other photo/erotic ones.

    3166

    Nice place to go to but I warn you - you can leave a lot of cash there and have problem packing…

    Lack of Britain sections in museum made me go to their website to check floor plan. And back to the building to see few more exhibitions. When I finally found what was searching for they told us to leave :-(

    But no need to be sad I thought cause I was going to meet long time no see friends at a pub not so far away. Went there, ordered some “organic lager” and sat down to wait for them. Few minutes later I had a chat with some guys around 60 years old about some random stuff. Good part were their recommendations which beer to try next. As you probably guess it was not lager but rather ale or something more English.

    YaaL and Pornel arrived and we had nice chat about life, work etc. Time passed too fast :-( But it was good to meet after so many years.

    Day three

    This had to be no museums day. First I went to visit Canonical’s office as I have never been there…

    Finding building was quite easy, then discussion with security took a bit more before they finally realised that I am on a visitors list already. Got tour of the office, looked at wall full of Ubuntu Touch interface mockups, discussed few of them with someone, made some coffee and left the building.

    Next step was Tete Modern Art gallery. I spent few hours there watching all those sculptures, paintings and installations which were counted as art in previous century. Did not even tried to understand those…

    Due to cold I got during previous days I went back to the hotel. But why stay there when there are so many places to visit and so little time?

    So I decided to make use of longer opening hours at the British Museum and went there. This time managed to see Britain sections and European Medieval times ones. It was good evening.

    Day four

    As this was my last day in London I decided to not go far from the hotel. Checked out, left luggage and went on foot to the Science Museum.

    Lovely place. Went quickly though Space exhibition (cause most of it I saw at Cape Canaveral already) but other ones were worth seeing. Age of Steam with all those engines and descriptions, vehicles like bikes (starting with “safety bicycle” by Rover), motorcycles, cars (including JET 1 powered by gas turbine) but also planes (with replica of Wright brothers one) and helicopters.

    There was also special exhibition about Alan Turing and his work.

    3177
    3178
    3179
    3180
    3181
    3182
    3183
    3187
    3188
    3189
    3190
    3191
    3192
    3193

    I enjoyed the “Materials” exhibition — especially body model with some artificial addons and long list next to it informing which materials can be used for which implants and other inserted parts.

    3184
    3185
    3186

    After visit I went for food, took luggage from hotel and then the Underground to King’s Cross train station and went to Cambridge. But this will be next post.

    Written by Marcin Juszkiewicz on
  7. Call for ALSA UCM profiles

    When I bought Samsung ARM Chromebook few months ago I had no idea about UCM profiles and burnt speakers (left is dead, right is resting)…

    This was good lesson. I learnt more about how UseCase Manager works, took profiles from ChromeOS and added them into Ubuntu so other users will be a bit more safe (due to lack of testers it took months to merge it into “precise” and “quantal” releases).

    During last months I had discussions with some Debian, Ubuntu, Fedora developers about how to solve such problems and how to keep UCM profiles shared between distributions.

    In meantime Liam Girdwood pointed me to (not used) UCM git tree at ALSA Project server. So finally I spent some time and sent Ubuntu ones for merging.

    I also got newer profiles for OMAP4 devices and some updates for Chromebook ones.

    The idea is to collect UCM profiles, keep them in one place and share in each distribution packages. So if your hardware has profiles created then join us to make users life easier.

    Written by Marcin Juszkiewicz on
  8. State of Linaro layers for OpenEmbedded

    As I will leave Linaro at the end of May I would like to write a summary of current state of Linaro layers for OpenEmbedded.

    At Linaro we have 3 layers:

    1. meta-aarch64
    2. meta-linaro
    3. meta-linaro-toolchain

    First one is BSP kind. I know that it had some issues which affected each build which had it in BBLAYERS but I fixed those issues. I would like to thank Khem Raj for pointing me at those.

    We have git version of binutils there due to some changes which were not present in 2.23 line. But use of this version is not required as builds are fine with OE Core one.

    We have “tune-armv8.inc” in this layer as well. There was attempt to merge that into OE Core but “/lib or /lib64” discussion started and at that time I decided to skip it. There are similar discussions at GCC and Glibc mailing lists. Once they sort that out OE tune file will be adapted by someone (I hope).

    Rest of recipes can be split into 2-3 types. Few (like sysprof, emacs) just disable recipes for AArch64. Other have extra patches to add missing functionality or defines. And we have Linaro kernel for AArch64 there.

    Second layer has ARMv7a(b) machine definitions used for our machine independent builds and some recipes.

    There are no patches for OE recipes here. The only exception is busybox where we enable “dpkg(-deb)” command which we need for our tools used to merge rootfs with hardware support.

    We have “recipes-extra” where we keep new recipes which may not be in a nicest state so are not yet merged into OpenEmbedded (or have no use there like “meta-toolchain-hhvm” one).

    recipes-linaro” is for our stuff. Images, automatic root shell on serial port etc.

    And finally is toolchain layer. Everything here is related to gcc-linaro and Linaro binary cross toolchains (armv7a and aarch64 ones). GCC 4.6 and 4.7 is there but 4.6 one will be removed when 4.8 will be added into OE Core.

    Who will maintain those layers after my leave? This was not decided yet. There are few guys at Linaro who know how to use OpenEmbedded but I think that most of them is outside of Builds and Baselines team.

    If you have any questions then better ask now.

    Written by Marcin Juszkiewicz on
Page 32 / 105