Skip to content

Commit

Permalink
hpm_sdk release v0.14.0
Browse files Browse the repository at this point in the history
Main changes since 0.13.0

Tested Segger Embedded Studio Version: 6.34a

  - drivers: inc: update adc driver
  - drivers: gptmr: update reload value
  - components: enet_phy: optimize APIs
  - components: enet_phy: dp83867: rename functions
  - components: conditionally add debug_console
  - middleware: add cherryusb (0.6.0)
  - middleware: littlevgl: update to v8.3.1
  - middleware: fatfs: file name encoding in utf-8
  - middleware: freertos: support nested irq handling
  - middleware: hpm_mcl: Optimized motor control foc speed
  - samples: drivers: dma src move to dma_general_transfer folder
  - samples: lwip: update all static addresses and all gateway addresses
  - samples: lwip: lwip_iperf: optimize the interactive log
  - samples: tinyusb: device: hid_generic_inout: optimize the python script
  - openocd: HPM6750A1 silicon in hpm6750-dual-core.cfg
  - header file: update the enet/conctl register files
  - header file: Update TRGMUX0 pin input source definition
  - header file: update the ADC12 header files
  - scripts: ses: organize file in ses according to real path.
  - cmake: split gcc and ses source
  - board: bump HPM6750 DCDC voltage to 1200mv

  - drivers: pdma: fix scale api issue
  - drivers: i2c: update DATACNT processing
  - drivers: i2s: fix i2s interrupt workaround in i2s_init
  - drivers: pwm: fix pwm capture function error
  - drivers: pwm: fix pwm capture configuration error
  - drivers: clock: fix error in clock_set_xxx_source
  - drivers: wdg: timeout calculation error
  - drivers: trgm_drv: bugfix: include error
  - drivers: romapi: call fencei after flash erase/write operation
  - drivers: watchdog: overflow
  - drivers: usb: host controller initialization issue
  - drivers: i2s: i2s_enable() issue fix
  - middleware: tinyusb: src: class: fix the HID report desc macro
  - samples: drivers: adc: optimize all ADC demos
  - samples: drivers: adc: fix all channel initializations  without a default value
  - samples: motor_ctrl: hardware trigger api usage error
  - samples: audio_codec: update clock process for 44100 sample rate
  - samples: lcdc: boundary pixel is incorrenct
  - samples: multicore: BOOT_HEADER was missing in multicore core0 example
  - samples: drivers: i2s: correct audio data if depth < 32bit.
  - samples: hpm_math: fft_perf_test: Fix error printing information
  - samples: fix pdm2dao noise problem
  - samples: lwip: fix the enet throughput degradation
  - soc: correct address overlapping SES XIP linker file
  - soc: correct the interrupt context switch issue
  - soc: fix Lack of interrupt claim for swi
  - boards: fix some rmii reference clock APIs

  - boards: add hpm6750evk2 support
  - soc: add initfini.c
  - drivers: lcdc: add y8 support
  - drivers: spi: update data_length processing
  - drivers: spi:  add api to enable/disable spi dma request
  - drivers: pmp: Add pmp_config_entry API
  - components: add ipc_event_mgr
  - component: spi: add cache maintain
  - middleware: add erpc
  - samples: lwip: support self-adaptive port speed and duplex mode
  - samples: jpeg: support grayscale
  - samples: drivers: spi: use api to get data length
  - samples: drivers: spi:  add interrupt b2b sample
  - samples: drivers: mbx: add singlecore samples
  - samples: drivers: add dma circle transfer
  - samples: drivers: pwm: add pwm capture demo
  - samples: provide OTP API demo
  - samples: add cherryusb hid/msc/cdc samples
  - samples: add Guomi API example
  - samples: add erpc sample
  - samples: add segger_rtt

Signed-off-by: Ryan QIAN <[email protected]>
  • Loading branch information
jhqian committed Oct 31, 2022
1 parent b6ff51c commit 5bcb229
Show file tree
Hide file tree
Showing 1,772 changed files with 426,484 additions and 32,526 deletions.
86 changes: 73 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,85 @@
# Change Log

## [0.13.1] - 2022-08-23:
## [0.14.0] - 2022-10-31:

Main changes since 0.13.0

Tested Segger Embedded Studio Version: 6.34a

### Changed:
- Driver:I2S: update i2s drivers
- middleware: lwip: optimize variable_name definition
- samples: lwip: lwip_iperf: update readme files
- samples: lwip: common: arch: add LWIP_MEM_SECTION declartion
- drivers: inc: update adc driver
- drivers: gptmr: update reload value
- components: enet_phy: optimize APIs
- components: enet_phy: dp83867: rename functions
- components: conditionally add debug_console
- middleware: add cherryusb (0.6.0)
- middleware: littlevgl: update to v8.3.1
- middleware: fatfs: file name encoding in utf-8
- middleware: freertos: support nested irq handling
- middleware: hpm_mcl: Optimized motor control foc speed
- samples: drivers: dma src move to dma_general_transfer folder
- samples: lwip: update all static addresses and all gateway addresses
- samples: lwip: lwip_iperf: optimize the interactive log
- samples: tinyusb: device: hid_generic_inout: optimize the python script
- openocd: HPM6750A1 silicon in hpm6750-dual-core.cfg
- header file: update the enet/conctl register files
- header file: Update TRGMUX0 pin input source definition
- header file: update the ADC12 header files
- scripts: ses: organize file in ses according to real path.
- cmake: split gcc and ses source
- board: bump HPM6750 DCDC voltage to 1200mv

### Fixed:
- drivers: pdma: fix scale api issue
- drivers: i2c: update DATACNT processing
- drivers: i2s: fix i2s interrupt workaround in i2s_init
- drivers: pwm: fix pwm capture function error
- drivers: pwm: fix pwm capture configuration error
- drivers: clock: fix error in clock_set_xxx_source
- drivers: wdg: timeout calculation error
- drivers: trgm_drv: bugfix: include error
- drivers: romapi: call fencei after flash erase/write operation
- drivers: watchdog: overflow
- drivers: usb: host controller initialization issue
- drivers: i2s: i2s_enable() issue fix
- middleware: tinyusb: src: class: fix the HID report desc macro
- samples: drivers: adc: optimize all ADC demos
- samples: drivers: adc: fix all channel initializations without a default value
- samples: motor_ctrl: hardware trigger api usage error
- samples: audio_codec: update clock process for 44100 sample rate
- samples: lcdc: boundary pixel is incorrenct
- samples: multicore: BOOT_HEADER was missing in multicore core0 example
- samples: jpeg: Fix encoding and decoding problem
- samples: audio codec: wav decoder: fix 32bit wave file playback
- I2S_DMA: fix wav channel not align problem
- i2s_interrupt: fix I2S FIFO overflow
- fix lack of interrupt claim for swi
- driver: watchdog: overflow
- Fix critical section logic issue in dma manager
- Fix the core1 application debugging issue
- samples: drivers: i2s: correct audio data if depth < 32bit.
- samples: hpm_math: fft_perf_test: Fix error printing information
- samples: fix pdm2dao noise problem
- samples: lwip: fix the enet throughput degradation
- soc: correct address overlapping SES XIP linker file
- soc: correct the interrupt context switch issue
- soc: fix Lack of interrupt claim for swi
- boards: fix some rmii reference clock APIs

### Added:
- boards: add hpm6750evk2 support
- soc: add initfini.c
- drivers: lcdc: add y8 support
- drivers: spi: update data_length processing
- drivers: spi: add api to enable/disable spi dma request
- drivers: pmp: Add pmp_config_entry API
- components: add ipc_event_mgr
- component: spi: add cache maintain
- middleware: add erpc
- samples: lwip: support self-adaptive port speed and duplex mode
- samples: jpeg: support grayscale
- samples: drivers: spi: use api to get data length
- samples: drivers: spi: add interrupt b2b sample
- samples: drivers: mbx: add singlecore samples
- samples: drivers: add dma circle transfer
- samples: drivers: pwm: add pwm capture demo
- samples: provide OTP API demo
- samples: add cherryusb hid/msc/cdc samples
- samples: add Guomi API example
- samples: add erpc sample
- samples: add segger_rtt

## [0.13.0] - 2022-07-31:

Expand Down
39 changes: 20 additions & 19 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,25 +1,15 @@
# Copyright 2021 hpmicro
# Copyright 2021-2022 HPMicro
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.13)

if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.20)
cmake_policy(SET CMP0116 OLD)
endif()
cmake_policy(SET CMP0079 NEW)

set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})

# to store all options
add_library(${HPM_SDK_LIB_ITF} INTERFACE)

add_library(${HPM_SDK_LIB} STATIC "")
target_link_libraries(${HPM_SDK_LIB} PUBLIC ${HPM_SDK_LIB_ITF})

include(cmake/extra_flags.cmake)

include(${HPM_SDK_BASE}/cmake/toolchain.cmake)
enable_language(C CXX ASM)

sdk_linker_global_symbols("_flash_size=${flash_size}")
sdk_linker_global_symbols("_extram_size=${extram_size}")
sdk_linker_global_symbols("_heap_size=${HEAP_SIZE}")
Expand Down Expand Up @@ -96,9 +86,9 @@ else()
endif()

if(NOT DEFINED USE_PRESET_FLASH_LINKER OR "${USE_PRESET_FLASH_LINKER}" EQUAL "0")
if(DEFINED CUSTOM_LINKER_FILE)
if(DEFINED CUSTOM_GCC_LINKER_FILE)
set(USE_CUSTOM_LINKER 1)
set(LINKER_SCRIPT ${CUSTOM_LINKER_FILE})
set(LINKER_SCRIPT ${CUSTOM_GCC_LINKER_FILE})
else()
if(DEFINED USE_LINKER_TEMPLATE)
set(USE_CUSTOM_LINKER 1)
Expand All @@ -111,9 +101,14 @@ if(${EXCLUDE_SDK_STARTUP})
set(USE_CUSTOM_STARTUP 1)
endif()

if(DEFINED CUSTOM_STARTUP_FILE)
if(DEFINED CUSTOM_GCC_STARTUP_FILE)
set(USE_CUSTOM_STARTUP 1)
sdk_src(${CUSTOM_STARTUP_FILE})
sdk_gcc_src(${CUSTOM_GCC_STARTUP_FILE})
endif()

if(DEFINED CUSTOM_SES_STARTUP_FILE)
set(USE_CUSTOM_STARTUP 1)
sdk_gcc_src(${CUSTOM_SES_STARTUP_FILE})
endif()

sdk_sys_inc(${SYSROOT_DIR}/include)
Expand Down Expand Up @@ -156,18 +151,24 @@ endif()

sdk_ld_options("-T ${LINKER_SCRIPT}")

file(WRITE ${PROJECT_BINARY_DIR}/misc/empty.c "")
add_executable(${APP_ELF_NAME} ${PROJECT_BINARY_DIR}/misc/empty.c)
# prepare dummy file
set(EMPTY_FILE ${PROJECT_BINARY_DIR}/misc/empty.c)
file(WRITE ${EMPTY_FILE} "")

add_executable(${APP_ELF_NAME} ${EMPTY_FILE})

set_target_properties(${APP_ELF_NAME} PROPERTIES LINK_DEPENDS ${LINKER_SCRIPT})

if("${TOOLCHAIN_VARIANT}" STREQUAL "nds-gcc")
target_link_libraries(${APP_ELF_NAME}
"-Wl,-Map=${PROJECT_BINARY_DIR}/${APP_MAP_NAME}"
${HPM_SDK_LIB} ${HPM_SDK_LIB_ITF} hpm_sdk_nds_lib_itf app)
${HPM_SDK_NDSGCC_LIB_ITF}
${HPM_SDK_GCC_LIB} ${HPM_SDK_GCC_LIB_ITF}
${HPM_SDK_LIB} ${HPM_SDK_LIB_ITF} app)
else()
target_link_libraries(${APP_ELF_NAME}
"-Wl,-Map=${PROJECT_BINARY_DIR}/${APP_MAP_NAME}"
${HPM_SDK_GCC_LIB} ${HPM_SDK_GCC_LIB_ITF}
${HPM_SDK_LIB} ${HPM_SDK_LIB_ITF} app)
endif()

Expand Down
28 changes: 24 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
# HPM SDK Overview
The HPM SDK Project is a software development kit based on HPMicro's MCUs, which supports a wide range of MCUs, based on the BSD license, including drivers, middleware and RTOS, such as littlevgl/ lwIP/ TinyUSB/ FreeRTOS, etc. It supports a large number of Boards.

# HPM SDK Quick Start Guide

## Minium required version of dependencies are:
## SDK directory

| Name | Description |
|--------|--------|
| <HPM_SDK_BASE>/arch | cpu architecture |
| <HPM_SDK_BASE>/boards | board support files |
| <HPM_SDK_BASE>/cmake | cmake extensions |
| <HPM_SDK_BASE>/components | software components |
| <HPM_SDK_BASE>/doc | documentation |
| <HPM_SDK_BASE>/drivers | low level driver files |
| <HPM_SDK_BASE>/middleware | middleware files |
| <HPM_SDK_BASE>/samples | sample source for drivers, middleware, components |
| <HPM_SDK_BASE>/scripts | util scripts |
| <HPM_SDK_BASE>/soc | SoC specific source |
| <HPM_SDK_BASE>/utils | util source |

## HPM SDK Quick Start Guide

### Minimum required version of dependencies are:

| Name | Version |
| -------|---------- |
|CMake | 3.13 |
| Python | 3.8 |

## Install Dependencies
### Install Dependencies
- Ubuntu
- install tools

Expand Down Expand Up @@ -248,3 +264,7 @@ The HPM SDK Project is a software development kit based on HPMicro's MCUs, which
Note: openocd executable needs to be found in the PATH variable of current console, otherwise debug configuration will not be generated to project file and needs to be configured manually in Segger Embedded Studio later.

# Community Support
- github page: https://hpmicro.github.io
- github: https://github.com/hpmicro/hpm_sdk
- gitee: https://gitee.com/hpmicro/hpm_sdk

29 changes: 24 additions & 5 deletions README_zh.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
# HPM SDK 概述
HPM SDK项目是基于HPMicro 公司的MCU编写的软件开发包,支持多种MCU。基于BSD许可证,包含了底层驱动,中间件和RTOS,例如littlevgl/ lwIP/ TinyUSB/ FreeRTOS等,支持大量评估板。

# HPM SDK使用说明

## 依赖软件最低版本要求
## HPM SDK directory

| 目录名称 | 描述 |
|--------|--------|
| <HPM_SDK_BASE>/arch | cpu架构相关文件 |
| <HPM_SDK_BASE>/boards | 板级文件 |
| <HPM_SDK_BASE>/cmake | cmake扩展 |
| <HPM_SDK_BASE>/components | 软件组件 |
| <HPM_SDK_BASE>/doc | 文档 |
| <HPM_SDK_BASE>/drivers | 底层驱动文件|
| <HPM_SDK_BASE>/middleware | 中间件 |
| <HPM_SDK_BASE>/samples | 驱动、中间件以及软件组件示例代码 |
| <HPM_SDK_BASE>/scripts | 辅助脚本 |
| <HPM_SDK_BASE>/soc | SoC相关文件 |
| <HPM_SDK_BASE>/utils | 辅助文件 |

## HPM SDK使用说明

### 依赖软件最低版本要求

| 软件名称 | 版本号 |
|--- | --- |
| CMake | 3.13 |
| Python | 3.8 |

## 安装依赖
### 安装依赖

- Ubuntu:
- 安装工具:
Expand Down Expand Up @@ -255,4 +271,7 @@ HPM SDK项目是基于HPMicro 公司的MCU编写的软件开发包,支持多

注意:openocd可执行文件应该可以通过当前终端的PATH环境变量中可以找到, 否则无法在工程文件中生成相应的调试配置,需要之后在Segger Embedded Studio中手工配置。

# 社区支持
## 社区支持
- github page: https://hpmicro.github.io
- github: https://github.com/hpmicro/hpm_sdk
- gitee: https://gitee.com/hpmicro/hpm_sdk
4 changes: 2 additions & 2 deletions VERSION
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
VERSION_MAJOR = 0
VERSION_MINOR = 13
PATCHLEVEL = 1
VERSION_MINOR = 14
PATCHLEVEL = 0
VERSION_TWEAK = 0
EXTRAVERSION = 0
2 changes: 1 addition & 1 deletion arch/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2021 hpmicro
# Copyright (c) 2021 HPMicro
# SPDX-License-Identifier: BSD-3-Clause

sdk_inc(.)
2 changes: 1 addition & 1 deletion arch/riscv/riscv_core.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021 hpmicro
* Copyright (c) 2021 HPMicro
*
* SPDX-License-Identifier: BSD-3-Clause
*
Expand Down
2 changes: 1 addition & 1 deletion boards/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2021 hpmicro
# Copyright (c) 2021 HPMicro
# SPDX-License-Identifier: BSD-3-Clause

add_subdirectory(${HPM_BOARD_DIR})
2 changes: 1 addition & 1 deletion boards/hpm6300evk/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2022 hpmicro
# Copyright (c) 2022 HPMicro
# SPDX-License-Identifier: BSD-3-Clause

sdk_inc(.)
Expand Down
22 changes: 18 additions & 4 deletions boards/hpm6300evk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ version
Board overall
Board overall hpm6300evk

![](../../doc/images/boards/hpm6300evk/hpm6300evk.png)

- Console serial port parameters:

- Baud rate: 115200
Expand All @@ -38,9 +40,9 @@ Board overall hpm6300evk
(lab_hpm6300_evk_board_buttons)=
| Function | Position |
| ---- | -------- |
|PBUTN (sw3) |Power Button, TinyUF2 Boot Button, GPIO Button |
|WBUTN (sw1) | WAKE UP Button |
|RESET (sw2) | Reset Button |
|PBUTN (SW1) |Power Button, TinyUF2 Boot Button, GPIO Button |
|WBUTN (SW2) | WAKE UP Button |
|RESETN (SW3) | Reset Button |

## Pin Description

Expand Down Expand Up @@ -72,4 +74,16 @@ Board overall hpm6300evk
| Function | Position |
| ---- | -------- |
| GPTMR2.CAPT_2 | J28[40] |
| GPTMR2.COMP_2 | J28[35] |
| GPTMR2.COMP_2 | J28[35] |

- ADC16 Pin

| Function | Position |
| ------------------------------ | -------- |
| ADC0.INA13/ADC1.INA9/ADC2.INA5 | J26[6] |

- DAC Pin

| Function | Position |
| -------- | -------- |
| DCA0.OUT | J26[11] |
28 changes: 19 additions & 9 deletions boards/hpm6300evk/README_zh.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
# HPM6300EVK开发板

## 概述

::::{important}
:::{note}
添加内容
:::
::::

## 概述

![](../../doc/images/boards/hpm6300evk/hpm6300evk.png)


- 控制台串口参数:
Expand Down Expand Up @@ -35,9 +32,9 @@
(lab_hpm6300_evk_board_buttons)=
| 名称 | 功能 |
| ---- | -------- |
|PBUTN (sw3) | 电源按键, TinyUF2 Boot按键, GPIO 按键|
|WBUTN (sw1) | WAKE UP 按键|
|RESET (sw2) | Reset 按键|
|PBUTN (SW1) | 电源按键, TinyUF2 Boot按键, GPIO 按键|
|WBUTN (SW2) | WAKE UP 按键|
|RESETN (SW3) | Reset 按键|


## 引脚描述
Expand Down Expand Up @@ -71,3 +68,16 @@
| ---- | -------- |
| GPTMR2.CAPT_2 | J28[40] |
| GPTMR2.COMP_2 | J28[35] |

- ADC16引脚

| 功能 | 位置 |
| ------------------------------ | ------ |
| ADC0.INA13/ADC1.INA9/ADC2.INA5 | J26[6] |

- DAC引脚

| 功能 | 位置 |
| -------- | ------- |
| DCA0.OUT | J26[11] |

Loading

0 comments on commit 5bcb229

Please sign in to comment.