[QBS] Customization for Embedded platforms that has no OS.
Denis Shienkov
scapig2 at yandex.ru
Sun Jul 21 15:20:03 CEST 2013
Hello QBS developers.
I had an idea to use a pair of QBS + QtCreator for creation of projects
for Embedded devices
which have no OS. These devices are different development boards on ARM,
AVR and so forth
processors. Of course, loading of executable code and debugging is
carried out via different
JTAG and/or SWD adapters.
I know that for these purposes there are many other projects: Keil, IAR,
CooCox and so forth...
But for me he have some negative moments.
Earlier, I made attempt to create a plug-in for QtCreator:
https://gitorious.org/qtcreator-embedded-plugin
with support of features of this type of devices, etc. with use of the
custom Makefile generator
and so forth. But it seems that my attempts came to a standstill because
of the increased
complexity of implementation many features. And I'm didn't complete
anything up to the end...
But now I looked towards QBS, and I think - that this solution of all
problems, very interesting
concept. I think that by means of QBS I can refuse absolutely my plug-in
(with all its difficulties)
in its current look, and completely to transfer to QBS support.
Having sketchy viewed documentation on QBS I found the following
(interesting for me):
1) TargetOS: In documentation is listed the list from several supported
OS. But in my case of
the device have no OS. Thus it is necessary to add one more listing like
"none".
2) CPU: In documentation there is no "avr" platform (AVR CPU).
3) In documentation are listed only the predetermined set of the
toolchains (GCC, MSVC, etc).
But for me is not clear about use of "custom" toolchains. For example,
what if I want to use
Keil or the IAR compiler...
Thus I had questions:
1. Whether QBS can adapt somehow for cross-assembly of Embedded of
projects without OS?
2. What you can give recommendations for implementation?
3. With what to begin implementation, to what features to pay attention?
4. Whether it is necessary to make modifications in source C++ code of
the QBS (submit new patches),
or it is rather simple to add new modules by means of *.js and/or *.qbs
files?
5. Whether QBS depends on QtCreator? I mean whether he receives names of
toolchains and other
settings from QtCreator? Or QBS - completely independent entity which
uses for this purpose own
mechanisms?
Best regards,
Denis
More information about the Qbs
mailing list