Use cases of Zephyr on High-End SoCs:
- Zephyr as bootloader (UEFI Boot, os loading)
- Running zephyr on one A53 core and Linux on the other
- Use a hypervisor that can schedule Zephyr for realtime tasks and Linux for HMI tasks
| def ReadSVNLog(BaseRev,rev,variant): | |
| FoundRev = "" | |
| p = subprocess.Popen("svn log --stop-on-copy -r HEAD:{} --search r{} https://mysvn/{}".format(BaseRev,rev,variant) , stdout=subprocess.PIPE, shell=True) | |
| for stdout_line in p.stdout: #Loop on lines printed to stdout | |
| tmp = re.findall(r'r\d+\s|',str(stdout_line.decode('utf-8')))[0] #This is to match rXXXXX in commit msg header | |
| if len(tmp) > 1: #at least rXXXXX | |
| FoundRev = tmp.replace('r','').rstrip() | |
| print("Debug {}".format(FoundRev)) | |
| if rev in str(stdout_line): | |
| p.stdout.close() |
| /* Based on esp-idf GPIO Example */ | |
| /* GPIO Example | |
| This example code is in the Public Domain (or CC0 licensed, at your option.) | |
| Unless required by applicable law or agreed to in writing, this | |
| software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR | |
| CONDITIONS OF ANY KIND, either express or implied. | |
| */ | |
| #include <stdio.h> | |
| #include <string.h> | |
| #include <stdlib.h> |
| /* | |
| This test use pins 16,17 Bank_0 on Espressif DevkitC V4 | |
| Just Connect both pins, no other external circuitry should be required | |
| */ | |
| #include <zephyr.h> | |
| #include <device.h> | |
| #include <drivers/gpio.h> | |
| #include <sys/util.h> | |
| #include <sys/printk.h> |
| using Microsoft.Win32; | |
| private void button1_Click(object sender, EventArgs e) | |
| { | |
| int? XMI_Transactions = (int?)Registry.GetValue(@"HKEY_CURRENT_USER\Software\Sparx Systems\EA400\EA\OPTIONS", "XMI_USE_TRANSACTION", null); | |
| if (XMI_Transactions == null) | |
| { | |
| MessageBox.Show("EA is not installed"); | |
| return; | |
| } | |
| Registry.SetValue(@"HKEY_CURRENT_USER\Software\Sparx Systems\EA400\EA\OPTIONS", "XMI_USE_TRANSACTION", 0); |
Use cases of Zephyr on High-End SoCs:
This script is to configure an intermediate machine to allow remote access to a development board
#!/bin/sh
# Network Topology
#
# [Developer Machine] <--> [Remote Machine(Linux)] <--> [Development Board]
# Machine (A) Machine (B) Machine (C)
# 192.168.1.2 <--> eth0: 192.168.1.3| git clean -xfd | |
| git submodule foreach --recursive git clean -xfd | |
| git reset --hard | |
| git submodule foreach --recursive git reset --hard | |
| git submodule update --init --recursive |