Date   

Re: How to reduce footprint and size of applications in Zephyr

Nashif, Anas
 

The reports show correct numbers, those are not MBs, those are read in bytes, so your RAM usage is round 50k, not 5Mb. Where did you read the 5Mb number?

 

 

Anas

 

From: zephyr-devel-bounces@... [mailto:zephyr-devel-bounces@...] On Behalf Of Hui Yie Teh
Sent: Friday, September 22, 2017 1:00 PM
To: Thiago Silveira <thiago@...>
Cc: zephyr-devel@...
Subject: Re: [Zephyr-devel] How to reduce footprint and size of applications in Zephyr

 

Hi Thiago,

Do you require the attachments of my app or the hello_world sample?

 

Here's the pastebin of the reports and config file for my app:

 

Here's the pastebin of the reports for the hello_world sample:

 

 

On 22 September 2017 at 18:03, Thiago Silveira <thiago@...> wrote:

Hi Yie,

That seems really weird. Could you attach the output of ram_report and rom_report in a pastebin/gist/attachment?

And if that's not a problem, please provide your .config file. You can find it inside your build's output folder.

Best regards,
Thiago

 

2017-09-21 3:42 GMT-03:00 Hui Yie Teh <hteh703@...>:

I see. That makes a lot of sense. Thank you Maciek! 

 

I have another question, if you dont mind. 

I have an app that's taking about ~5MB of RAM and ~5.6MB of ROM judging from the 'ram_report' and 'rom_report'. Is there a way to reduce the size of those? It is much bigger because I've included other functionalities such as multi-threading and networking. Do I remove functionalities I don't need using 'make menuconfig'?

Cheers,
Yie

 

On 21 September 2017 at 18:28, Maciek Borzecki <maciek.borzecki@...> wrote:

On Thu, Sep 21, 2017 at 7:57 AM, Hui Yie Teh <hteh703@...> wrote:
>
> Hi Thiago,
>
> Thank you so much for the reply. I am running Zephyr on Linux and building the hello_world app on ARM using qemu_cortex_m3.
>
> I've got the numbers from the following:
>
> The 8MB of memory is measured using the system monitor
>
>
> The 3.8MB is seen by clicking properties of the folder created after building the hello_world app. I am assuming that the folder in ../outdir/BOARD will be the folder that is going to be installed on the board itself. Am I understanding this correctly?
>
>
> I'm not sure if those are the right numbers to get, sorry if this is a stupid question.
>
>
> Also, may I know what these numbers from' make ram_report' and 'make rom_report' mean?
>
> ram_report
>
>
> rom_report
>
> Any help would be really appreciated. Thanks!


qemu-system-arm is just a VM that can emulate, among others, Cortex-M
MCUs. `qemu_cortext_m3` board is in fact emulated by qemu. Memory
usage of a running Qemu process does not directly (or otherwise
easily) translate to the memory usage in the target system.

Haven't looked at the reports for some time, but `ram_report` is
likely a listing statically allocated data that would normally be
copied into RAM during system initialization. `rom_report` likely
lists the size of each symbol (i.e. non-inlined function in the code).
So, you're more realistically looking at ~4kB of RAM and ~7kB of
flash.


>
> Cheers,
> Yie
>
>
>
>
> On 21 September 2017 at 06:15, Thiago Silveira <thiago@...> wrote:
>>
>> Hi Yie,
>>
>> That definitely isn't right. In which environment are you running Zephyr, and how are you measuring this?
>>
>> Try 'make rom_report' and 'make ram_report' to get a nice report of how much each function is consuming.
>>
>> Best regards,
>> Thiago
>>
>>
>>
>> 2017-09-20 13:00 GMT-03:00 Hui Yie Teh <hteh703@...>:
>>>
>>> Hi,
>>>
>>> I read that Zephyr allows small footprint of a few KBs. However, the sample hello world application already takes up 8MB of memory and has a size of 3.8MB. I am not sure if I am running this right.
>>>
>>> I would appreciate if I can get any help on this or someone to point me at the right direction.
>>>
>>> Cheers,
>>> Yie
>>>
>>> _______________________________________________
>>> Zephyr-devel mailing list
>>> Zephyr-devel@...
>>> https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
>>>
>>
>
>
> _______________________________________________
> Zephyr-devel mailing list
> Zephyr-devel@...
> https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
>


--
Maciek Borzecki

 

 

 


Re: Zephyr File System Not Working

Yie
 

Thank you so much! I tried building it on qemu_x86 and it works fine.

However, if you don't mind, I have another question regarding the file system.

This is my code: 
Inline images 2

I'm currently trying to open the file to write to it. It seems to be opening fine, but I cannot call the fs_write/fs_seek don't seem to be working for me.. The only output I am getting is "Done opening file". 

Can I get any help on this? Thanks once again.

Cheers.

On 23 September 2017 at 05:38, Nashif, Anas <anas.nashif@...> wrote:

When you enable the filesystem without actually having storage, FAT is enabled with a RAM disk with 96kb storage, this does not fit in Qemu configuration you are using.

If you are looking at emulation, you probably should try qemu_x86 which has more storage configured, this will build just fine.

 

Anas

 

From: Hui Yie Teh [mailto:hteh703@aucklanduni.ac.nz]
Sent: Friday, September 22, 2017 11:59 AM
To: Nashif, Anas <anas.nashif@...>
Cc: zephyr-devel@lists.zephyrproject.org
Subject: Re: [Zephyr-devel] Zephyr File System Not Working

 

Thanks for your reply. 

 

I am not linking any external code in. I'm building a simple app that prints "hello" to the console.

 

This is what I have in my config file:

 

CONFIG_STDOUT_CONSOLE=y
CONFIG_FILE_SYSTEM=y

 

Cheers.

 

On 23 September 2017 at 03:52, Nashif, Anas <anas.nashif@...> wrote:

Hi,

 

You are running out of memory, this is not related to the file system.

What exactly are you building? Are you linking external code in?

 

Anas

 

 

From: zephyr-devel-bounces@lists.zephyrproject.org [mailto:zephyr-devel-bounces@lists.zephyrproject.org] On Behalf Of Hui Yie Teh
Sent: Friday, September 22, 2017 11:43 AM
To: zephyr-devel@lists.zephyrproject.org
Subject: [Zephyr-devel] Zephyr File System Not Working

 

Hi,

I'm having problems with Zephyr's file system. I am building on the board qemu_cortex_m3 on Linux. I'm getting the following error when I'm building:

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: zephyr_prebuilt.elf section `bss' will not fit in region `SRAM'

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: section .intList VMA [0000000020010000,0000000020010013] overlaps section bss VMA [0000000020000000,0000000020018437]

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: region `SRAM' overflowed by 37308 bytes

 

collect2: error: ld returned 1 exit status

 

 

Any help would be much appreciated. Thank you.

 



Re: Zephyr File System Not Working

Nashif, Anas
 

When you enable the filesystem without actually having storage, FAT is enabled with a RAM disk with 96kb storage, this does not fit in Qemu configuration you are using.

If you are looking at emulation, you probably should try qemu_x86 which has more storage configured, this will build just fine.

 

Anas

 

From: Hui Yie Teh [mailto:hteh703@...]
Sent: Friday, September 22, 2017 11:59 AM
To: Nashif, Anas <anas.nashif@...>
Cc: zephyr-devel@...
Subject: Re: [Zephyr-devel] Zephyr File System Not Working

 

Thanks for your reply. 

 

I am not linking any external code in. I'm building a simple app that prints "hello" to the console.

 

This is what I have in my config file:

 

CONFIG_STDOUT_CONSOLE=y
CONFIG_FILE_SYSTEM=y

 

Cheers.

 

On 23 September 2017 at 03:52, Nashif, Anas <anas.nashif@...> wrote:

Hi,

 

You are running out of memory, this is not related to the file system.

What exactly are you building? Are you linking external code in?

 

Anas

 

 

From: zephyr-devel-bounces@... [mailto:zephyr-devel-bounces@...] On Behalf Of Hui Yie Teh
Sent: Friday, September 22, 2017 11:43 AM
To: zephyr-devel@...
Subject: [Zephyr-devel] Zephyr File System Not Working

 

Hi,

I'm having problems with Zephyr's file system. I am building on the board qemu_cortex_m3 on Linux. I'm getting the following error when I'm building:

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: zephyr_prebuilt.elf section `bss' will not fit in region `SRAM'

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: section .intList VMA [0000000020010000,0000000020010013] overlaps section bss VMA [0000000020000000,0000000020018437]

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: region `SRAM' overflowed by 37308 bytes

 

collect2: error: ld returned 1 exit status

 

 

Any help would be much appreciated. Thank you.

 


Re: How to reduce footprint and size of applications in Zephyr

Yie
 

Hi Thiago,

Do you require the attachments of my app or the hello_world sample?

Here's the pastebin of the reports and config file for my app:

Here's the pastebin of the reports for the hello_world sample:


On 22 September 2017 at 18:03, Thiago Silveira <thiago@...> wrote:
Hi Yie,

That seems really weird. Could you attach the output of ram_report and rom_report in a pastebin/gist/attachment?
And if that's not a problem, please provide your .config file. You can find it inside your build's output folder.

Best regards,
Thiago

2017-09-21 3:42 GMT-03:00 Hui Yie Teh <hteh703@...>:
I see. That makes a lot of sense. Thank you Maciek! 

I have another question, if you dont mind. 

I have an app that's taking about ~5MB of RAM and ~5.6MB of ROM judging from the 'ram_report' and 'rom_report'. Is there a way to reduce the size of those? It is much bigger because I've included other functionalities such as multi-threading and networking. Do I remove functionalities I don't need using 'make menuconfig'?

Cheers,
Yie

On 21 September 2017 at 18:28, Maciek Borzecki <maciek.borzecki@...> wrote:
On Thu, Sep 21, 2017 at 7:57 AM, Hui Yie Teh <hteh703@...> wrote:
>
> Hi Thiago,
>
> Thank you so much for the reply. I am running Zephyr on Linux and building the hello_world app on ARM using qemu_cortex_m3.
>
> I've got the numbers from the following:
>
> The 8MB of memory is measured using the system monitor
>
>
> The 3.8MB is seen by clicking properties of the folder created after building the hello_world app. I am assuming that the folder in ../outdir/BOARD will be the folder that is going to be installed on the board itself. Am I understanding this correctly?
>
>
> I'm not sure if those are the right numbers to get, sorry if this is a stupid question.
>
>
> Also, may I know what these numbers from' make ram_report' and 'make rom_report' mean?
>
> ram_report
>
>
> rom_report
>
> Any help would be really appreciated. Thanks!


qemu-system-arm is just a VM that can emulate, among others, Cortex-M
MCUs. `qemu_cortext_m3` board is in fact emulated by qemu. Memory
usage of a running Qemu process does not directly (or otherwise
easily) translate to the memory usage in the target system.

Haven't looked at the reports for some time, but `ram_report` is
likely a listing statically allocated data that would normally be
copied into RAM during system initialization. `rom_report` likely
lists the size of each symbol (i.e. non-inlined function in the code).
So, you're more realistically looking at ~4kB of RAM and ~7kB of
flash.

>
> Cheers,
> Yie
>
>
>
>
> On 21 September 2017 at 06:15, Thiago Silveira <thiago@...> wrote:
>>
>> Hi Yie,
>>
>> That definitely isn't right. In which environment are you running Zephyr, and how are you measuring this?
>>
>> Try 'make rom_report' and 'make ram_report' to get a nice report of how much each function is consuming.
>>
>> Best regards,
>> Thiago
>>
>>
>>
>> 2017-09-20 13:00 GMT-03:00 Hui Yie Teh <hteh703@...>:
>>>
>>> Hi,
>>>
>>> I read that Zephyr allows small footprint of a few KBs. However, the sample hello world application already takes up 8MB of memory and has a size of 3.8MB. I am not sure if I am running this right.
>>>
>>> I would appreciate if I can get any help on this or someone to point me at the right direction.
>>>
>>> Cheers,
>>> Yie
>>>
>>> _______________________________________________
>>> Zephyr-devel mailing list
>>> Zephyr-devel@...ct.org
>>> https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
>>>
>>
>
>
> _______________________________________________
> Zephyr-devel mailing list
> Zephyr-devel@...ct.org
> https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
>



--
Maciek Borzecki




Re: Zephyr File System Not Working

Yie
 

Thanks for your reply. 

I am not linking any external code in. I'm building a simple app that prints "hello" to the console.

This is what I have in my config file:

CONFIG_STDOUT_CONSOLE=y
CONFIG_FILE_SYSTEM=y

Cheers.

On 23 September 2017 at 03:52, Nashif, Anas <anas.nashif@...> wrote:

Hi,

 

You are running out of memory, this is not related to the file system.

What exactly are you building? Are you linking external code in?

 

Anas

 

 

From: zephyr-devel-bounces@lists.zephyrproject.org [mailto:zephyr-devel-bounces@lists.zephyrproject.org] On Behalf Of Hui Yie Teh
Sent: Friday, September 22, 2017 11:43 AM
To: zephyr-devel@lists.zephyrproject.org
Subject: [Zephyr-devel] Zephyr File System Not Working

 

Hi,

I'm having problems with Zephyr's file system. I am building on the board qemu_cortex_m3 on Linux. I'm getting the following error when I'm building:

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: zephyr_prebuilt.elf section `bss' will not fit in region `SRAM'

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: section .intList VMA [0000000020010000,0000000020010013] overlaps section bss VMA [0000000020000000,0000000020018437]

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: region `SRAM' overflowed by 37308 bytes

 

collect2: error: ld returned 1 exit status

 

 

Any help would be much appreciated. Thank you.



Re: Zephyr File System Not Working

Nashif, Anas
 

Hi,

 

You are running out of memory, this is not related to the file system.

What exactly are you building? Are you linking external code in?

 

Anas

 

 

From: zephyr-devel-bounces@... [mailto:zephyr-devel-bounces@...] On Behalf Of Hui Yie Teh
Sent: Friday, September 22, 2017 11:43 AM
To: zephyr-devel@...
Subject: [Zephyr-devel] Zephyr File System Not Working

 

Hi,

I'm having problems with Zephyr's file system. I am building on the board qemu_cortex_m3 on Linux. I'm getting the following error when I'm building:

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: zephyr_prebuilt.elf section `bss' will not fit in region `SRAM'

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: section .intList VMA [0000000020010000,0000000020010013] overlaps section bss VMA [0000000020000000,0000000020018437]

 

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: region `SRAM' overflowed by 37308 bytes

 

collect2: error: ld returned 1 exit status

 

 

Any help would be much appreciated. Thank you.


Zephyr File System Not Working

Yie
 

Hi,

I'm having problems with Zephyr's file system. I am building on the board qemu_cortex_m3 on Linux. I'm getting the following error when I'm building:

/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: zephyr_prebuilt.elf section `bss' will not fit in region `SRAM'
 
/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: section .intList VMA [0000000020010000,0000000020010013] overlaps section bss VMA [0000000020000000,0000000020018437]
 
/home/user/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-zephyr-eabi/gcc/arm-zephyr-eabi/6.2.0/real-ld: region `SRAM' overflowed by 37308 bytes
 
collect2: error: ld returned 1 exit status


Any help would be much appreciated. Thank you.


Re: Is it possible to have two processes communicate in ARM Qemu?

Andrei
 

Hi,

On Fri, Sep 22, 2017 at 09:52:49AM +1200, Hui Yie Teh wrote:
Hi Andrei,

Thanks for your reply. Are there any other QEMU_EXTRA_FLAGS that allows
applications to communicate with one another without using bluetooth? Like
named pipes in C? 
You can just change it whatever you like it. In our case btproxy creates
/tmp/bt-server-bredr and qemu connects to it and present to guest OS as
a serial device.

Best regards
Andrei Emeltchenko


Cheers.
On 21 September 2017 at 21:54, Andrei Emeltchenko
<[1]andrei.emeltchenko.news@gmail.com> wrote:

Hi,
On Thu, Sep 21, 2017 at 09:16:21PM +1200, Hui Yie Teh wrote:
>    Hi,
>
>    Is there an inter-process communication functionality on Zephyr
running on
>    Linux for Qemu? 
>    I have an application on Zephyr that gets data from an external
source.
>    However, since I do not have the actual device, I will be emulating
this
>    on Qemu. So I will have 2 applications, one solely for generating
the
>    output. 
>    However, how can these two applications communicate? I know this
can be
>    done in C using named pipes. Is it possible to do that with Zephyr
as
>    well?

We use QEMU_EXTRA_FLAGS for providing this parameter for QEMU, for
example in bluetooth we may run btproxy on Linux host and
QEMU_EXTRA_FLAGS like following:

QEMU_EXTRA_FLAGS = -serial unix:/tmp/bt-server-bredr

Best regards
Andrei Emeltchenko

References

Visible links
1. mailto:andrei.emeltchenko.news@gmail.com


Re: How to reduce footprint and size of applications in Zephyr

Thiago Silveira
 

Hi Yie,

That seems really weird. Could you attach the output of ram_report and rom_report in a pastebin/gist/attachment?
And if that's not a problem, please provide your .config file. You can find it inside your build's output folder.

Best regards,
Thiago

2017-09-21 3:42 GMT-03:00 Hui Yie Teh <hteh703@...>:

I see. That makes a lot of sense. Thank you Maciek! 

I have another question, if you dont mind. 

I have an app that's taking about ~5MB of RAM and ~5.6MB of ROM judging from the 'ram_report' and 'rom_report'. Is there a way to reduce the size of those? It is much bigger because I've included other functionalities such as multi-threading and networking. Do I remove functionalities I don't need using 'make menuconfig'?

Cheers,
Yie

On 21 September 2017 at 18:28, Maciek Borzecki <maciek.borzecki@...> wrote:
On Thu, Sep 21, 2017 at 7:57 AM, Hui Yie Teh <hteh703@...> wrote:
>
> Hi Thiago,
>
> Thank you so much for the reply. I am running Zephyr on Linux and building the hello_world app on ARM using qemu_cortex_m3.
>
> I've got the numbers from the following:
>
> The 8MB of memory is measured using the system monitor
>
>
> The 3.8MB is seen by clicking properties of the folder created after building the hello_world app. I am assuming that the folder in ../outdir/BOARD will be the folder that is going to be installed on the board itself. Am I understanding this correctly?
>
>
> I'm not sure if those are the right numbers to get, sorry if this is a stupid question.
>
>
> Also, may I know what these numbers from' make ram_report' and 'make rom_report' mean?
>
> ram_report
>
>
> rom_report
>
> Any help would be really appreciated. Thanks!


qemu-system-arm is just a VM that can emulate, among others, Cortex-M
MCUs. `qemu_cortext_m3` board is in fact emulated by qemu. Memory
usage of a running Qemu process does not directly (or otherwise
easily) translate to the memory usage in the target system.

Haven't looked at the reports for some time, but `ram_report` is
likely a listing statically allocated data that would normally be
copied into RAM during system initialization. `rom_report` likely
lists the size of each symbol (i.e. non-inlined function in the code).
So, you're more realistically looking at ~4kB of RAM and ~7kB of
flash.

>
> Cheers,
> Yie
>
>
>
>
> On 21 September 2017 at 06:15, Thiago Silveira <thiago@...> wrote:
>>
>> Hi Yie,
>>
>> That definitely isn't right. In which environment are you running Zephyr, and how are you measuring this?
>>
>> Try 'make rom_report' and 'make ram_report' to get a nice report of how much each function is consuming.
>>
>> Best regards,
>> Thiago
>>
>>
>>
>> 2017-09-20 13:00 GMT-03:00 Hui Yie Teh <hteh703@...>:
>>>
>>> Hi,
>>>
>>> I read that Zephyr allows small footprint of a few KBs. However, the sample hello world application already takes up 8MB of memory and has a size of 3.8MB. I am not sure if I am running this right.
>>>
>>> I would appreciate if I can get any help on this or someone to point me at the right direction.
>>>
>>> Cheers,
>>> Yie
>>>
>>> _______________________________________________
>>> Zephyr-devel mailing list
>>> Zephyr-devel@...ct.org
>>> https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
>>>
>>
>
>
> _______________________________________________
> Zephyr-devel mailing list
> Zephyr-devel@...ct.org
> https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
>



--
Maciek Borzecki



Re: How to include C library that is not in Zephyr

Jie Zhou <zhoujie@...>
 

Hi Hui,

Newlib is included in zephyr. To enable newlib, just add CONFIG_NEWLI_LIBC=y to prj.conf file. The conf file can be found in the same directory that your makefile is. Then your zephyr environment should simply switch from miminal to newlib.

Best,
Jie

On Thu, Sep 21, 2017 at 1:13 PM, Hui Yie Teh <hteh703@...> wrote:
Hi,

Is there a way to include C libraries that are not in Zephyr e.g. <unistd.h>? 

Cheers. 

_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel



How to include C library that is not in Zephyr

Yie
 

Hi,

Is there a way to include C libraries that are not in Zephyr e.g. <unistd.h>? 

Cheers. 


Re: Is it possible to have two processes communicate in ARM Qemu?

Yie
 

Hi Andrei,

Thanks for your reply. Are there any other QEMU_EXTRA_FLAGS that allows applications to communicate with one another without using bluetooth? Like named pipes in C? 

Cheers.

On 21 September 2017 at 21:54, Andrei Emeltchenko <andrei.emeltchenko.news@...> wrote:
Hi,

On Thu, Sep 21, 2017 at 09:16:21PM +1200, Hui Yie Teh wrote:
>    Hi,
>
>    Is there an inter-process communication functionality on Zephyr running on
>    Linux for Qemu? 
>    I have an application on Zephyr that gets data from an external source.
>    However, since I do not have the actual device, I will be emulating this
>    on Qemu. So I will have 2 applications, one solely for generating the
>    output. 
>    However, how can these two applications communicate? I know this can be
>    done in C using named pipes. Is it possible to do that with Zephyr as
>    well?

We use QEMU_EXTRA_FLAGS for providing this parameter for QEMU, for
example in bluetooth we may run btproxy on Linux host and
QEMU_EXTRA_FLAGS like following:

QEMU_EXTRA_FLAGS = -serial unix:/tmp/bt-server-bredr

Best regards
Andrei Emeltchenko


Re: flashing tinytile

Dharmappa, Savinay <savinay.dharmappa@...>
 

Hi Tamra,

Flash sample/synchronization/ application you will be able to see the prints. Flashing via dfu-util for tinytile works fine. After flashing "hello world" sample application ,a reset is required which is disconnecting /dev/ttyACM0 not sure
Why it is happening.

Regards
savinay

-----Original Message-----
From: zephyr-devel-bounces@lists.zephyrproject.org [mailto:zephyr-devel-bounces@lists.zephyrproject.org] On Behalf Of zephyr-devel-request@lists.zephyrproject.org
Sent: Thursday, September 21, 2017 3:35 PM
To: zephyr-devel@lists.zephyrproject.org
Subject: Zephyr-devel Digest, Vol 9, Issue 41

Send Zephyr-devel mailing list submissions to
zephyr-devel@lists.zephyrproject.org

To subscribe or unsubscribe via the World Wide Web, visit
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
or, via email, send a message with subject or body 'help' to
zephyr-devel-request@lists.zephyrproject.org

You can reach the person managing the list at
zephyr-devel-owner@lists.zephyrproject.org

When replying, please edit your Subject line so it is more specific than "Re: Contents of Zephyr-devel digest..."


Today's Topics:

1. Is it possible to have two processes communicate in ARM Qemu?
(Hui Yie Teh)
2. Re: Is it possible to have two processes communicate in ARM
Qemu? (Andrei Emeltchenko)
3. Re: flash tinytile (Buriez, Patrice)


----------------------------------------------------------------------

Message: 1
Date: Thu, 21 Sep 2017 21:16:21 +1200
From: Hui Yie Teh <hteh703@aucklanduni.ac.nz>
To: zephyr-devel@lists.zephyrproject.org
Subject: [Zephyr-devel] Is it possible to have two processes
communicate in ARM Qemu?
Message-ID:
<CAPLZ2xMBUo66S92EUQWOQGA1Bj7NhfUSVO9ynoWtKwUCZKwwbg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi,

Is there an inter-process communication functionality on Zephyr running on Linux for Qemu?

I have an application on Zephyr that gets data from an external source.
However, since I do not have the actual device, I will be emulating this on Qemu. So I will have 2 applications, one solely for generating the output.

However, how can these two applications communicate? I know this can be done in C using named pipes. Is it possible to do that with Zephyr as well?

Any help would be much appreciated. Thanks.

Cheers,
Yie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zephyrproject.org/pipermail/zephyr-devel/attachments/20170921/ab9c3e62/attachment-0001.html>

------------------------------

Message: 2
Date: Thu, 21 Sep 2017 12:54:05 +0300
From: Andrei Emeltchenko <andrei.emeltchenko.news@gmail.com>
To: Hui Yie Teh <hteh703@aucklanduni.ac.nz>
Cc: zephyr-devel@lists.zephyrproject.org
Subject: Re: [Zephyr-devel] Is it possible to have two processes
communicate in ARM Qemu?
Message-ID: <20170921095403.gbbhmcsbzxk6upgc@comms.fi.intel.com>
Content-Type: text/plain; charset=iso-8859-1

Hi,

On Thu, Sep 21, 2017 at 09:16:21PM +1200, Hui Yie Teh wrote:
Hi,

Is there an inter-process communication functionality on Zephyr running on
Linux for Qemu??
I have an application on Zephyr that gets data from an external source.
However, since I do not have the actual device, I will be emulating this
on Qemu. So I will have 2 applications, one solely for generating the
output.?
However, how can these two applications communicate? I know this can be
done in C using named pipes. Is it possible to do that with Zephyr as
well?
We use QEMU_EXTRA_FLAGS for providing this parameter for QEMU, for example in bluetooth we may run btproxy on Linux host and QEMU_EXTRA_FLAGS like following:

QEMU_EXTRA_FLAGS = -serial unix:/tmp/bt-server-bredr

Best regards
Andrei Emeltchenko


------------------------------

Message: 3
Date: Thu, 21 Sep 2017 10:04:46 +0000
From: "Buriez, Patrice" <patrice.buriez@intel.com>
To: Tamra Oyama <tamrako@hawaii.edu>,
"zephyr-devel@lists.zephyrproject.org"
<zephyr-devel@lists.zephyrproject.org>
Subject: Re: [Zephyr-devel] flash tinytile
Message-ID:
<8BBE948C60307D47AD16B5B5B92A387E96922654@IRSMSX106.ger.corp.intel.com>

Content-Type: text/plain; charset="utf-8"

Hi Tamra,

I don?t have a tinytile at hand, but you might want to try the following command:
ZEPHYR_FLASH_OVER_DFU=y make BOARD=tinytile flash

You will find more information about make-assisted dfu-util method at: https://www.zephyrproject.org/doc/boards/x86/arduino_101/doc/board.html#flashing

Regards,
Patrice

From: zephyr-devel-bounces@lists.zephyrproject.org [mailto:zephyr-devel-bounces@lists.zephyrproject.org] On Behalf Of Tamra Oyama
Sent: Thursday, September 21, 2017 9:09 AM
To: zephyr-devel@lists.zephyrproject.org
Subject: [Zephyr-devel] flash tinytile

Hello all,

I am trying to flash my tinytile. When I use the commands make BOARD=tinytile flash or make flash or the dfu-util command, I get the errors below. Tinytile does not have a jtag connection and it seems like it's looking for a jtag connection. I want to flash using the dfu-util command. I was able to do this with my arduino_101. I am trying to use the same command, dfu-util -a x86_app -D outdir/tinytile/zephyr.bin. This part is successful. However, when I open minicom, minicom freezes and it appears the code is not being executed. Since I can't see anything in minicom, I am not sure how to debug this issue or what's really going on. Any ideas? It would be super great if someone could point us in the right direction. Thank you for your time!

tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make BOARD=tinytile
make[1]: Entering directory '/home/tamrako/CODK/zephyr'
make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'
CHK include/generated/generated_dts_board.conf
Using /home/tamrako/CODK/zephyr as source for kernel
GEN ./Makefile
CHK include/generated/version.h
CHK include/generated/generated_dts_board.h
CHK misc/generated/configs.c
CHK include/generated/offsets.h
make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'
make[1]: Leaving directory '/home/tamrako/CODK/zephyr'
tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make flash
Using /home/tamrako/CODK/zephyr/boards/x86/qemu_x86/qemu_x86_defconfig as base
Merging /home/tamrako/CODK/zephyr/kernel/configs/kernel.config
Merging prj.conf
#
# configuration written to .config
#
make[1]: Entering directory '/home/tamrako/CODK/zephyr'
make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/qemu_x86'
GEN ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/generated/generated_dts_board.conf
UPD include/generated/generated_dts_board.conf
CHK include/generated/generated_dts_board.conf
Flashing not supported with this board.
Please check the documentation for alternate instructions.
make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/qemu_x86'
make[1]: Leaving directory '/home/tamrako/CODK/zephyr'

tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make BOARD=tinytile flash
make[1]: Entering directory '/home/tamrako/CODK/zephyr'
make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'
CHK include/generated/generated_dts_board.conf
Using /home/tamrako/CODK/zephyr as source for kernel
GEN ./Makefile
CHK include/generated/version.h
CHK include/generated/generated_dts_board.h
CHK misc/generated/configs.c
CHK include/generated/offsets.h
Flashing tinytile
Flashing Target Device
Open On-Chip Debugger 0.9.0-dirty (2017-05-16-18:46)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
adapter speed: 1000 kHz
trst_only separate trst_push_pull
jtag_ntrst_delay: 300
Error: no device found
Error: unable to open ftdi device with vid 0403, pid 6010, description 'Flyswatter2' and serial '*'

/home/tamrako/CODK/zephyr/Makefile:1330: recipe for target 'flash' failed
make[2]: *** [flash] Error 1
make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/home/tamrako/CODK/zephyr'
/home/tamrako/CODK/zephyr/Makefile.inc:88: recipe for target 'flash' failed
make: *** [flash] Error 2

Sincerely,
Tamra
Intel Corporation NV/SA
Kings Square, Veldkant 31
2550 Kontich
RPM (Bruxelles) 0415.497.718.
Citibank, Brussels, account 570/1031255/09

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.zephyrproject.org/pipermail/zephyr-devel/attachments/20170921/361149ab/attachment.html>

------------------------------

_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel


End of Zephyr-devel Digest, Vol 9, Issue 41
*******************************************


Re: flash tinytile

Patrice Buriez
 

Hi Tamra,

 

I don’t have a tinytile at hand, but you might want to try the following command:

ZEPHYR_FLASH_OVER_DFU=y make BOARD=tinytile flash

 

You will find more information about make-assisted dfu-util method at: https://www.zephyrproject.org/doc/boards/x86/arduino_101/doc/board.html#flashing

 

Regards,

Patrice

 

From: zephyr-devel-bounces@... [mailto:zephyr-devel-bounces@...] On Behalf Of Tamra Oyama
Sent: Thursday, September 21, 2017 9:09 AM
To: zephyr-devel@...
Subject: [Zephyr-devel] flash tinytile

 

Hello all,

 

I am trying to flash my tinytile. When I use the commands make BOARD=tinytile flash or make flash or the dfu-util command, I get the errors below. Tinytile does not have a jtag connection and it seems like it's looking for a jtag connection. I want to flash using the dfu-util command. I was able to do this with my arduino_101. I am trying to use the same command, dfu-util -a x86_app -D outdir/tinytile/zephyr.bin. This part is successful. However, when I open minicom, minicom freezes and it appears the code is not being executed. Since I can't see anything in minicom, I am not sure how to debug this issue or what's really going on. Any ideas? It would be super great if someone could point us in the right direction. Thank you for your time!

 

tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make BOARD=tinytile

make[1]: Entering directory '/home/tamrako/CODK/zephyr'

make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'

  CHK     include/generated/generated_dts_board.conf

  Using /home/tamrako/CODK/zephyr as source for kernel

  GEN     ./Makefile

  CHK     include/generated/version.h

  CHK     include/generated/generated_dts_board.h

  CHK     misc/generated/configs.c

  CHK     include/generated/offsets.h

make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'

make[1]: Leaving directory '/home/tamrako/CODK/zephyr'

tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make flash

Using /home/tamrako/CODK/zephyr/boards/x86/qemu_x86/qemu_x86_defconfig as base

Merging /home/tamrako/CODK/zephyr/kernel/configs/kernel.config

Merging prj.conf

#

# configuration written to .config

#

make[1]: Entering directory '/home/tamrako/CODK/zephyr'

make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/qemu_x86'

  GEN     ./Makefile

scripts/kconfig/conf --silentoldconfig Kconfig

  CHK     include/generated/generated_dts_board.conf

  UPD     include/generated/generated_dts_board.conf

  CHK     include/generated/generated_dts_board.conf

Flashing not supported with this board.

Please check the documentation for alternate instructions.

make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/qemu_x86'

make[1]: Leaving directory '/home/tamrako/CODK/zephyr'

 

tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make BOARD=tinytile flash

make[1]: Entering directory '/home/tamrako/CODK/zephyr'

make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'

  CHK     include/generated/generated_dts_board.conf

  Using /home/tamrako/CODK/zephyr as source for kernel

  GEN     ./Makefile

  CHK     include/generated/version.h

  CHK     include/generated/generated_dts_board.h

  CHK     misc/generated/configs.c

  CHK     include/generated/offsets.h

Flashing tinytile

Flashing Target Device

Open On-Chip Debugger 0.9.0-dirty (2017-05-16-18:46)

Licensed under GNU GPL v2

For bug reports, read

Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.

adapter speed: 1000 kHz

trst_only separate trst_push_pull

jtag_ntrst_delay: 300

Error: no device found

Error: unable to open ftdi device with vid 0403, pid 6010, description 'Flyswatter2' and serial '*'

 

/home/tamrako/CODK/zephyr/Makefile:1330: recipe for target 'flash' failed

make[2]: *** [flash] Error 1

make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'

Makefile:178: recipe for target 'sub-make' failed

make[1]: *** [sub-make] Error 2

make[1]: Leaving directory '/home/tamrako/CODK/zephyr'

/home/tamrako/CODK/zephyr/Makefile.inc:88: recipe for target 'flash' failed

make: *** [flash] Error 2

 

Sincerely,

Tamra

Intel Corporation NV/SA
Kings Square, Veldkant 31
2550 Kontich
RPM (Bruxelles) 0415.497.718.
Citibank, Brussels, account 570/1031255/09

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.


Re: Is it possible to have two processes communicate in ARM Qemu?

Andrei
 

Hi,

On Thu, Sep 21, 2017 at 09:16:21PM +1200, Hui Yie Teh wrote:
Hi,

Is there an inter-process communication functionality on Zephyr running on
Linux for Qemu? 
I have an application on Zephyr that gets data from an external source.
However, since I do not have the actual device, I will be emulating this
on Qemu. So I will have 2 applications, one solely for generating the
output. 
However, how can these two applications communicate? I know this can be
done in C using named pipes. Is it possible to do that with Zephyr as
well?
We use QEMU_EXTRA_FLAGS for providing this parameter for QEMU, for
example in bluetooth we may run btproxy on Linux host and
QEMU_EXTRA_FLAGS like following:

QEMU_EXTRA_FLAGS = -serial unix:/tmp/bt-server-bredr

Best regards
Andrei Emeltchenko


Is it possible to have two processes communicate in ARM Qemu?

Yie
 

Hi,

Is there an inter-process communication functionality on Zephyr running on Linux for Qemu? 

I have an application on Zephyr that gets data from an external source. However, since I do not have the actual device, I will be emulating this on Qemu. So I will have 2 applications, one solely for generating the output. 

However, how can these two applications communicate? I know this can be done in C using named pipes. Is it possible to do that with Zephyr as well?

Any help would be much appreciated. Thanks.

Cheers,
Yie


flash tinytile

Tamra Oyama <tamrako@...>
 

Hello all,

I am trying to flash my tinytile. When I use the commands make BOARD=tinytile flash or make flash or the dfu-util command, I get the errors below. Tinytile does not have a jtag connection and it seems like it's looking for a jtag connection. I want to flash using the dfu-util command. I was able to do this with my arduino_101. I am trying to use the same command, dfu-util -a x86_app -D outdir/tinytile/zephyr.bin. This part is successful. However, when I open minicom, minicom freezes and it appears the code is not being executed. Since I can't see anything in minicom, I am not sure how to debug this issue or what's really going on. Any ideas? It would be super great if someone could point us in the right direction. Thank you for your time!

tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make BOARD=tinytile
make[1]: Entering directory '/home/tamrako/CODK/zephyr'
make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'
  CHK     include/generated/generated_dts_board.conf
  Using /home/tamrako/CODK/zephyr as source for kernel
  GEN     ./Makefile
  CHK     include/generated/version.h
  CHK     include/generated/generated_dts_board.h
  CHK     misc/generated/configs.c
  CHK     include/generated/offsets.h
make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'
make[1]: Leaving directory '/home/tamrako/CODK/zephyr'
tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make flash
Using /home/tamrako/CODK/zephyr/boards/x86/qemu_x86/qemu_x86_defconfig as base
Merging /home/tamrako/CODK/zephyr/kernel/configs/kernel.config
Merging prj.conf
#
# configuration written to .config
#
make[1]: Entering directory '/home/tamrako/CODK/zephyr'
make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/qemu_x86'
  GEN     ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/generated/generated_dts_board.conf
  UPD     include/generated/generated_dts_board.conf
  CHK     include/generated/generated_dts_board.conf
Flashing not supported with this board.
Please check the documentation for alternate instructions.
make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/qemu_x86'
make[1]: Leaving directory '/home/tamrako/CODK/zephyr'

tamrako@tamrako-Inspiron-13-7378:~/CODK/zephyr/samples/bluetooth/beacon$ make BOARD=tinytile flash
make[1]: Entering directory '/home/tamrako/CODK/zephyr'
make[2]: Entering directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'
  CHK     include/generated/generated_dts_board.conf
  Using /home/tamrako/CODK/zephyr as source for kernel
  GEN     ./Makefile
  CHK     include/generated/version.h
  CHK     include/generated/generated_dts_board.h
  CHK     misc/generated/configs.c
  CHK     include/generated/offsets.h
Flashing tinytile
Flashing Target Device
Open On-Chip Debugger 0.9.0-dirty (2017-05-16-18:46)
Licensed under GNU GPL v2
For bug reports, read
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
adapter speed: 1000 kHz
trst_only separate trst_push_pull
jtag_ntrst_delay: 300
Error: no device found
Error: unable to open ftdi device with vid 0403, pid 6010, description 'Flyswatter2' and serial '*'

/home/tamrako/CODK/zephyr/Makefile:1330: recipe for target 'flash' failed
make[2]: *** [flash] Error 1
make[2]: Leaving directory '/home/tamrako/CODK/zephyr/samples/bluetooth/beacon/outdir/tinytile'
Makefile:178: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/home/tamrako/CODK/zephyr'
/home/tamrako/CODK/zephyr/Makefile.inc:88: recipe for target 'flash' failed
make: *** [flash] Error 2

Sincerely,
Tamra


Re: How to reduce footprint and size of applications in Zephyr

Yie
 

I see. That makes a lot of sense. Thank you Maciek! 

I have another question, if you dont mind. 

I have an app that's taking about ~5MB of RAM and ~5.6MB of ROM judging from the 'ram_report' and 'rom_report'. Is there a way to reduce the size of those? It is much bigger because I've included other functionalities such as multi-threading and networking. Do I remove functionalities I don't need using 'make menuconfig'?

Cheers,
Yie

On 21 September 2017 at 18:28, Maciek Borzecki <maciek.borzecki@...> wrote:
On Thu, Sep 21, 2017 at 7:57 AM, Hui Yie Teh <hteh703@...> wrote:
>
> Hi Thiago,
>
> Thank you so much for the reply. I am running Zephyr on Linux and building the hello_world app on ARM using qemu_cortex_m3.
>
> I've got the numbers from the following:
>
> The 8MB of memory is measured using the system monitor
>
>
> The 3.8MB is seen by clicking properties of the folder created after building the hello_world app. I am assuming that the folder in ../outdir/BOARD will be the folder that is going to be installed on the board itself. Am I understanding this correctly?
>
>
> I'm not sure if those are the right numbers to get, sorry if this is a stupid question.
>
>
> Also, may I know what these numbers from' make ram_report' and 'make rom_report' mean?
>
> ram_report
>
>
> rom_report
>
> Any help would be really appreciated. Thanks!


qemu-system-arm is just a VM that can emulate, among others, Cortex-M
MCUs. `qemu_cortext_m3` board is in fact emulated by qemu. Memory
usage of a running Qemu process does not directly (or otherwise
easily) translate to the memory usage in the target system.

Haven't looked at the reports for some time, but `ram_report` is
likely a listing statically allocated data that would normally be
copied into RAM during system initialization. `rom_report` likely
lists the size of each symbol (i.e. non-inlined function in the code).
So, you're more realistically looking at ~4kB of RAM and ~7kB of
flash.

>
> Cheers,
> Yie
>
>
>
>
> On 21 September 2017 at 06:15, Thiago Silveira <thiago@...> wrote:
>>
>> Hi Yie,
>>
>> That definitely isn't right. In which environment are you running Zephyr, and how are you measuring this?
>>
>> Try 'make rom_report' and 'make ram_report' to get a nice report of how much each function is consuming.
>>
>> Best regards,
>> Thiago
>>
>>
>>
>> 2017-09-20 13:00 GMT-03:00 Hui Yie Teh <hteh703@...>:
>>>
>>> Hi,
>>>
>>> I read that Zephyr allows small footprint of a few KBs. However, the sample hello world application already takes up 8MB of memory and has a size of 3.8MB. I am not sure if I am running this right.
>>>
>>> I would appreciate if I can get any help on this or someone to point me at the right direction.
>>>
>>> Cheers,
>>> Yie
>>>
>>> _______________________________________________
>>> Zephyr-devel mailing list
>>> Zephyr-devel@lists.zephyrproject.org
>>> https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
>>>
>>
>
>
> _______________________________________________
> Zephyr-devel mailing list
> Zephyr-devel@lists.zephyrproject.org
> https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel
>



--
Maciek Borzecki


Re: How to reduce footprint and size of applications in Zephyr

Maciek Borzecki <maciek.borzecki@...>
 

On Thu, Sep 21, 2017 at 7:57 AM, Hui Yie Teh <hteh703@aucklanduni.ac.nz> wrote:

Hi Thiago,

Thank you so much for the reply. I am running Zephyr on Linux and building the hello_world app on ARM using qemu_cortex_m3.

I've got the numbers from the following:

The 8MB of memory is measured using the system monitor


The 3.8MB is seen by clicking properties of the folder created after building the hello_world app. I am assuming that the folder in ../outdir/BOARD will be the folder that is going to be installed on the board itself. Am I understanding this correctly?


I'm not sure if those are the right numbers to get, sorry if this is a stupid question.


Also, may I know what these numbers from' make ram_report' and 'make rom_report' mean?

ram_report


rom_report

Any help would be really appreciated. Thanks!

qemu-system-arm is just a VM that can emulate, among others, Cortex-M
MCUs. `qemu_cortext_m3` board is in fact emulated by qemu. Memory
usage of a running Qemu process does not directly (or otherwise
easily) translate to the memory usage in the target system.

Haven't looked at the reports for some time, but `ram_report` is
likely a listing statically allocated data that would normally be
copied into RAM during system initialization. `rom_report` likely
lists the size of each symbol (i.e. non-inlined function in the code).
So, you're more realistically looking at ~4kB of RAM and ~7kB of
flash.


Cheers,
Yie




On 21 September 2017 at 06:15, Thiago Silveira <thiago@exati.com.br> wrote:

Hi Yie,

That definitely isn't right. In which environment are you running Zephyr, and how are you measuring this?

Try 'make rom_report' and 'make ram_report' to get a nice report of how much each function is consuming.

Best regards,
Thiago



2017-09-20 13:00 GMT-03:00 Hui Yie Teh <hteh703@aucklanduni.ac.nz>:

Hi,

I read that Zephyr allows small footprint of a few KBs. However, the sample hello world application already takes up 8MB of memory and has a size of 3.8MB. I am not sure if I am running this right.

I would appreciate if I can get any help on this or someone to point me at the right direction.

Cheers,
Yie

_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel

_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@lists.zephyrproject.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel


--
Maciek Borzecki


Re: How to reduce footprint and size of applications in Zephyr

Yie
 

Hi Thiago,

Thank you so much for the reply. I am running Zephyr on Linux and building the hello_world app on ARM using qemu_cortex_m3. 

I've got the numbers from the following:
  • The 8MB of memory is measured using the system monitor

    Inline images 2
  • The 3.8MB is seen by clicking properties of the folder created after building the hello_world app. I am assuming that the folder in ../outdir/BOARD will be the folder that is going to be installed on the board itself. Am I understanding this correctly? 

    Inline images 3
I'm not sure if those are the right numbers to get, sorry if this is a stupid question. 


Also, may I know what these numbers from' make ram_report' and 'make rom_report' mean? 
  • ram_report

    Inline images 8
  • rom_report
    Inline images 9
Any help would be really appreciated. Thanks!

Cheers,
Yie




On 21 September 2017 at 06:15, Thiago Silveira <thiago@...> wrote:
Hi Yie,

That definitely isn't right. In which environment are you running Zephyr, and how are you measuring this?

Try 'make rom_report' and 'make ram_report' to get a nice report of how much each function is consuming.

Best regards,
Thiago



2017-09-20 13:00 GMT-03:00 Hui Yie Teh <hteh703@...>:
Hi,

I read that Zephyr allows small footprint of a few KBs. However, the sample hello world application already takes up 8MB of memory and has a size of 3.8MB. I am not sure if I am running this right.

I would appreciate if I can get any help on this or someone to point me at the right direction.

Cheers,
Yie

_______________________________________________
Zephyr-devel mailing list
Zephyr-devel@...ct.org
https://lists.zephyrproject.org/mailman/listinfo/zephyr-devel



4761 - 4780 of 8183