4 years, 4 months ago.

Older version of the rtos for linux

I am very sorry for the negative post, but I cannot go by without noting how shit apparently mbed developer team is. The online compiler export tools have not been functioning properly for weeks. The morons in the developer team apparently have not heard of rolling back to a stable version (I would not be surprised if their system is so shit that they cannot roll back, still some "brilliant mind" decided to use mercurial instead of git...). Apparently they also have not heard of testing before releasing, either.

As a result, exporting to linux does not work properly anymore. Some crappy makefile is exported and ofc it does not even compile. After some fixes, you can get it to compile, but you see, Threads are sth that does not work anymore with arm-gcc. Good job, mbed developers.

So long story short, I am now stuck with the online compiler and I cannot express how shit that one is too. It does not even support proper header guards and global variables across multiple files.

So here is my question - can anybody share a git repo or a zip file with the version of the rtos at least 5 months old because this is the last time I remember the compiler working. I only need the libraries and the makefile so I can copy them in my project.


PS: Advice for mbed developer team: Go back and take CS101. After that, you can start thinking about moving the whole project base to github which has proved as the standard to host open source projects. Do you even realize that with one update of your mbed os you fucked up every single project on your website. At least github allows ppl to use submodules, choose when to update these dependencies, and one update does not do the domino effect. Your build system also heavily sucks. Go back and take CS102 and learn how you need to have a separate makefile for each library - it is called maintainable code, but apparently you don't consider that an issue. Excuse my rage, but what you did is indeed immensely incompetent and stupid, it is a shame that ARM does stuff like this

First of all, how don't header guards work in the online compiler? Everything pretty much uses it. And global variables should not be automatically in every file, the possible ways that can go wrong are endless. Does ARMGCC really do that? The proper ways work at least fine in the online compiler (using either extern keyword in the .cpp files, or including a header file where the global variable is declared as extern).

And while your rant is a bit over the top, I do agree it is bad those exporters are still broken. However your rant that mbed is horrible because it does not use github is quite frankly really idiotic. Mainly because the complete mbed project base is on freaking Github. Here have fun: https://github.com/ARMmbed/mbed-os

posted by Erik - 28 Mar 2017

Hi Erik, thanks for your comment. What I meant about github is that instead of hosting all projects on their website, they should have instead done it on github. Right now, if you go and import a library into your project, it will default to the latest version of the mbed-os while I cannot be sure whether the library and the os version are compatible. Instead on github, if all projects import the mbed-os and the rtos as submodules, library developers will be able to choose when to update to a new version of the os instead of being forced to update when a new commit is made. At the moment, I think there is a lot of code broken because of this issue. While I understand that the online compiler might be easier for beginners, for more advanced projects it is completely inappropriate. We are essentially running in the same problem as arduino has...

About mbed-cli - yes, it is on github, but honestly that does not help me much. I need my own Makefile where I can choose my own compilation options and flags. I am not sure even if I have the option to switch to c++11 with mbed-cli. In any case, this is not the way to do it properly. It seems completely unnecessary - all it does is to automate some git commands and arm-gcc invocations, but nothing more. And I would expect everyone competent enough to be able to do this on his own. What I would have much preferred would be a script that autogenerates a makefile, that I can later modify to my preferences. Although, mbed-cli has that functionality, again it seems to be broken.

posted by Nikolay Nikolov 28 Mar 2017
Be the first to answer this question.