Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important information on the platform change.

cancel
Showing results for 
Search instead for 
Did you mean: 
SOLVED

Core CPU Type

Core CPU Type

martinscheu
New Poster

Hello

In order to compile software for the core, would it be possible to know the exact type of CPU build in? I could probably compile on the core itselve, but maybe not the best option.

I want to read network interface data, process it and forward flow data.

Thank you,
Martin

6 REPLIES 6

nickH
Community Moderator
Community Moderator

Hello Martin,

The processor of the ctrlX CORE is ARM64 architecture. You can see the technical details in the online documentation "ctrlX CORE Controls, Operating Manual  -->  Technical data  -->  General technical data".

If you want to build software for the ctrlX CORE, please have a look at the SDK on GitHub. Within the SDK is also a development environment, which you can use to compile code and pack your snaps (software container) for the ctrlX CORE.

 

Here are some other useful links for you:

 

Best regards,

Nick

Hello Nick

Unfortunately the information on the docu page is not enough.

Normally I run:

file /usr/bin/ls
ldd /usr/bin/ls

 also could

readelf -h  /usr/bin/ls

 

but only ldd is available on the core, which is not enough.

I would like to access the network interfaces. I did not find library for it in the SDK.

Thanks, Martin

 

nickH
Community Moderator
Community Moderator

Hello Martin, 

I'm sorry, but I don't know what you want to do exactly. Could you explain your use case a little more?

But keep in mind, that Applications snapped using strict confinement have no network access by default. With interfaces an installed snap gets access to system resources. Interfaces that are required for normal operation are specified at snap build-time within the app metadata of a snap’s snapcraft.yaml.
The network interface allows all outbound network access from the application as a client. Should the application bind to a port, for example to run a server, then the network-bind interface should also be used.

See for example the webserver sample in go from the SDK. And its snapcraft.yaml:

 

…
apps:
  my-server:
    command: ./bin/webserver 
    plugs:
      - network
      - network-bind
      - network-status
      - active-solution
    daemon: simple
…

 


Further information:

 

Best regards, 

Nick

Hi Nick

Thanks for your input.

I want to monitor the two network interfaces, Eth0 and Eth1. (Was told that the EtherCAT port is not possible to monitor as part of the real time system). With monitoring I want to read in and out going network traffic and convert it to flow data (5-tuple) and send that data to a monitoring server. Basically it is like setting up a mirror/span port, process the data and send it out on one interface.

I have the software available to do this task, but it needs to be compiled for the core. Well, at least is what we do for different plattforms, like Raspberry pi, Windows, Ubuntu, Docker..

Obviously I am not familiar with the snap architecture.

Network security monitoring is part of my project for the ctrlX devellopR challenge, maybe we could setup a short call to discuss?

Thanks!

 

nickH
Community Moderator
Community Moderator

Yes, we can arrange a call with you, your mentors and myself. 

I send you a private message with my contact data. 

CodeShepherd
Community Moderator
Community Moderator

Any news here and/or can ths topic be closed?

Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist