Training for BvD Database: Enhance Your Research Skills

Training for BvD Database: Enhance Your Research Skills

UNNCers, after trying out the powerful BvD Database in the business and commercial field (including ORBIS, BankFocus, Zephyr, and Orbis Intellectual Property), do you want to gain more practical tips? Then, why not join the training session this Wednesday? It will be taught by Cui Yuehan, the analyst from BvD China, and UNNCers are welcome … Read more

Guide to Exporting High-End Medical Devices: How Pulmonx Achieved $30M Revenue

Guide to Exporting High-End Medical Devices: How Pulmonx Achieved $30M Revenue

On October 1, 2020, the American medical device company Pulmonx went public on NASDAQ under the ticker symbol LUNG, with an offering price of $19, raising over $200 million. As of February 3, 2021, Pulmonx’s stock was over $58 per share, giving the company a total market capitalization of over $2 billion. Founded in 1998, … Read more

CLion Tutorial – Device Tree Files

CLion Tutorial - Device Tree Files

Device tree is a hierarchical data structure primarily used to describe hardware. CLion recognizes .dts/.dtsi files and provides code assistance and code analysis features. Configure Development Board (Zephyr) If you are using Zephyr, make sure to select the development board you are using in the settings: Go to Settings | Languages & Frameworks | Device … Read more

Bluetooth Development Insights: Challenges and Solutions

Bluetooth Development Insights: Challenges and Solutions

Recently, I have been using Chipsea’s Bluetooth chip to develop a small project. The functionality is quite simple, similar to a lost item tracker, but in this project, the host is also a Bluetooth chip instead of a smartphone. This necessitates learning more about protocol stacks. However, the most frustrating part is not learning the … Read more

CLion Tutorial: Multithreading RTOS Debugging

CLion Tutorial: Multithreading RTOS Debugging

When debugging with RTOS, CLion provides views for FreeRTOS, Azure RTOS, and Zephyr tasks (threads). For FreeRTOS, you can also explore objects and the heap. Some gdb servers have built-in support for different RTOS. To ensure proper integration with CLion, make sure to disable built-in support on the gdb server side. To enable the RTOS … Read more

Building MCUBoot for ESP32-C3 Under Zephyr

Building MCUBoot for ESP32-C3 Under Zephyr

The article on building the ESP Bootloader under Zephyr for ESP32-C3 mentions that Zephyr also supports booting from MCUBoot: ROM-> MCUboot -> Zephyr.bin ( App ) As previously explained about the ROM, this article focuses on analyzing the booting part of MCUboot. Building Using west -v build -b esp32c3_zgp –sysbuild zephyr_sample/ — -DBOARD_ROOT=/mnt/g/project/v3.4.0/zephyr_sample/ -Dmcuboot_BOARD_ROOT=/mnt/g/project/v3.4.0/zephyr_sample/ to … Read more

Setting Up ESP32-S3 Development Environment with Zephyr

Setting Up ESP32-S3 Development Environment with Zephyr

The Zephyr development environment supports three major operating systems: Windows, Linux, and MacOS. However, the most comprehensive support is for Linux, so it is recommended to use Linux for beginners. This article is based on Ubuntu 22.04. In some sense, this is a rehash of previous articles because similar content has been covered: Building Zephyr … Read more

Zephyr Kernel Data Structures – Singly Linked List

Zephyr Kernel Data Structures - Singly Linked List

Singly Linked List The Zephyr singly linked list is implemented in the following file: zephyr/include/zephyr/sys/slist.h. Zephyr stores singly linked list data in sys_slist_t (i.e., each list element stores a pointer to the next element, rather than the data of the previous element). /** @cond INTERNAL_HIDDEN */ struct _slist { sys_snode_t *head; sys_snode_t *tail; }; /** … Read more

Common Data Structures in Zephyr Kernel

Common Data Structures in Zephyr Kernel

This article provides an overview without technical details or usage instructions. The Zephyr kernel uses a generic data structure library, which can also be utilized in applications. The data structures include: Linked List Packet Buffer Red-Black Tree Circular Buffer It is important to note that the APIs for accessing these data structures are not thread-safe. … Read more

Zephyr Kernel Data Structure – MPSC

Zephyr Kernel Data Structure - MPSC

Overview MPSC_PBUF (Multi Producer Single Consumer Packet Buffer) is a circular buffer where data in MPSC_PBUF is managed in packets, and the size of the packets is variable. Users read or store data from MPSC_PBUF in packet units. To reduce data copying in memory, data production is divided into two steps: allocating packet space and … Read more