1 Star 0 Fork 5K

bolewei / docs

forked from OpenHarmony / docs 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
KAL.md 41.37 KB
一键复制 编辑 原始数据 按行查看 历史
wenjun 提交于 2020-09-08 10:08 . add OpenHarmony 1.0 baseline

KAL

Overview

Defines the kernel adaptation layer (KAL), which provides compatible interfaces across different types of OpenHarmony devices.

Since:

1.0

Version:

1.0

Summary

Files

File Name

Description

kal.h

Defines the kernel adaptation layer (KAL), which provides compatible interfaces across different types of OpenHarmony devices.

Data Structures

Data Structure Name

Description

ThreadInfo

Describes a thread.

MemInfo

Describes a memory pool.

Macros

Macro Name and Value

Description

KAL_TASK_NAME_LEN 32

Indicates the maximum length of a thread name.

Enumerations

Enumeration Name

Description

KalTimerType { KAL_TIMER_ONCE = 0, KAL_TIMER_PERIODIC = 1 }

Enumerates timer types.

KalErrCode { KAL_OK = 0, KAL_ERR_PARA = 1, KAL_ERR_INNER = 2, KAL_ERR_TIMER_STATE = 0x100 }

Enumerates return values of the KAL function.

Functions

Function Name

Description

KalThreadGetInfo (unsigned int threadId, ThreadInfo *info)

unsigned int

Obtains thread information.

KalDelayUs (unsigned int us)

void

Delays a thread.

KalTimerCreate (KalTimerProc func, KalTimerType type, void *arg, unsigned int ticks)

KalTimerId

Creates a timer.

KalTimerStart (KalTimerId timerId)

KalErrCode

Starts a timer.

KalTimerChange (KalTimerId timerId, unsigned int ticks)

KalErrCode

Changes the duration of a timer.

KalTimerStop (KalTimerId timerId)

KalErrCode

Stops a timer.

KalTimerDelete (KalTimerId timerId)

KalErrCode

Deletes a timer.

KalTimerIsRunning (KalTimerId timerId)

unsigned int

Checks whether a timer is running.

KalTickToMs (unsigned int ticks)

unsigned int

Converts system ticks into milliseconds.

KalMsToTick (unsigned int millisec)

unsigned int

Converts milliseconds into system ticks.

KalGetMemInfo (MemInfo *pmemInfo)

KalErrCode

Obtains memory information.

Details

Enumeration Type Documentation

KalErrCode

enum [KalErrCode](KAL.md#ga595e811b5dcad5dc834be507d6839c36)

Description:

Enumerates return values of the KAL function.

Enumerator

Description

KAL_OK

A successful execution

KAL_ERR_PARA

Incorrect parameter

KAL_ERR_INNER

Internal execution error

KAL_ERR_TIMER_STATE

Timer status error

KalTimerType

enum [KalTimerType](KAL.md#gacde4b0c553c297f66311b87c4bbbb27d)

Description:

Enumerates timer types.

Enumerator

Description

KAL_TIMER_ONCE

One-shot timer

KAL_TIMER_PERIODIC

Repetitive timer

Function Documentation

KalDelayUs()

void KalDelayUs (unsigned int us)

Description:

Delays a thread.

The delay unit is microsecond. The actual delay precision can reach only the tick level.

Parameters:

Name

Description

us

Indicates the number of microseconds to delay. The actual delay precision is one tick.

KalGetMemInfo()

[KalErrCode](KAL.md#ga595e811b5dcad5dc834be507d6839c36) KalGetMemInfo ([MemInfo](MemInfo.md) * pmemInfo)

Description:

Obtains memory information.

Parameters:

Name

Description

pmemInfo

Indicates the pointer to the memory information.

Returns:

Returns an enumerated value defined by KalErrCode, where KAL_OK indicates a success.

KalMsToTick()

unsigned int KalMsToTick (unsigned int millisec)

Description:

Converts milliseconds into system ticks.

Parameters:

Name

Description

millisec

Indicates the milliseconds to convert.

Returns:

Returns the system ticks generated.

KalThreadGetInfo()

unsigned int KalThreadGetInfo (unsigned int threadId, [ThreadInfo](ThreadInfo.md) * info )

Description:

Obtains thread information.

Parameters:

Name

Description

threadId

Indicates the thread ID.

info

Indicates the pointer to the buffer for storing the obtained thread information.

Returns:

Returns 0 if the thread information is obtained; returns a negative value otherwise.

KalTickToMs()

unsigned int KalTickToMs (unsigned int ticks)

Description:

Converts system ticks into milliseconds.

Parameters:

Name

Description

ticks

Indicates the number of ticks to convert.

Returns:

Returns the milliseconds generated.

KalTimerChange()

[KalErrCode](KAL.md#ga595e811b5dcad5dc834be507d6839c36) KalTimerChange (KalTimerId timerId, unsigned int ticks )

Description:

Changes the duration of a timer.

The timer duration can be changed only before the timer is started.

Parameters:

Name

Description

timerId

Indicates the ID of the timer whose duration is to change, which is the value returned by KalTimerCreate.

ticks

Indicates the new duration of the timer.

Returns:

Returns an enumerated value defined by KalErrCode, where KAL_OK indicates a success.

KalTimerCreate()

KalTimerId KalTimerCreate (KalTimerProc func, [KalTimerType](KAL.md#gacde4b0c553c297f66311b87c4bbbb27d) type, void * arg, unsigned int ticks )

Description:

Creates a timer.

Parameters:

Name

Description

func

Indicates the entry to timer callback. The callback is triggered when the timer expires.

type

Indicates the timer type.

arg

Indicates the pointer to the argument used in timer callback.

ticks

Indicates the duration of the timer to create.

Returns:

Returns the timer ID; returns NULL in the case of an error.

KalTimerDelete()

[KalErrCode](KAL.md#ga595e811b5dcad5dc834be507d6839c36) KalTimerDelete (KalTimerId timerId)

Description:

Deletes a timer.

Parameters:

Name

Description

timerId

Indicates the ID of the timer to delete, which is the value returned by KalTimerCreate.

Returns:

Returns an enumerated value defined by KalErrCode, where KAL_OK indicates a success.

KalTimerIsRunning()

unsigned int KalTimerIsRunning (KalTimerId timerId)

Description:

Checks whether a timer is running.

Parameters:

Name

Description

timerId

Indicates the ID of the timer to check, which is the value returned by KalTimerCreate.

Returns:

Returns 1 if the timer is running; returns 0 if the timer is not running or the input parameter is incorrect.

KalTimerStart()

[KalErrCode](KAL.md#ga595e811b5dcad5dc834be507d6839c36) KalTimerStart (KalTimerId timerId)

Description:

Starts a timer.

Parameters:

Name

Description

timerId

Indicates the ID of the timer to start, which is the value returned by KalTimerCreate.

Returns:

Returns an enumerated value defined by KalErrCode, where KAL_OK indicates a success.

KalTimerStop()

[KalErrCode](KAL.md#ga595e811b5dcad5dc834be507d6839c36) KalTimerStop (KalTimerId timerId)

Description:

Stops a timer.

Parameters:

Name

Description

timerId

Indicates the ID of the timer to stop, which is the value returned by KalTimerCreate.

Returns:

Returns an enumerated value defined by KalErrCode, where KAL_OK indicates a success.

Variable Documentation

bottomOfStack

unsigned int ThreadInfo::bottomOfStack

Description:

Thread stack bottom

currUsed

unsigned int ThreadInfo::currUsed

Description:

Current stack space usage

eventMask

unsigned int ThreadInfo::eventMask

Description:

Thread event mask

eventStru

unsigned int ThreadInfo::eventStru[3]

Description:

Thread event

free

unsigned int MemInfo::free

Description:

Available space of the memory pool, in bytes

freeLmp

unsigned int MemInfo::freeLmp

Description:

Available space of the small memory pool, in bytes

freeNodeNum

unsigned int MemInfo::freeNodeNum

Description:

Number of available nodes in the memory pool

id

unsigned int ThreadInfo::id

Description:

Thread ID

mallocFailCount

unsigned int MemInfo::mallocFailCount

Description:

Number of memory allocation failures

maxFreeNodeSize

unsigned int MemInfo::maxFreeNodeSize

Description:

Size of the largest available node in the memory pool, in bytes

mepc

unsigned int ThreadInfo::mepc

Description:

Current thread MEPC

mstatus

unsigned int ThreadInfo::mstatus

Description:

Current thread status

name

char ThreadInfo::name[[KAL_TASK_NAME_LEN](KAL.md#ga5c36b53bd6e8cbdbcd79f702eda94fdc)]

Description:

Thread name

overflowFlag

unsigned int ThreadInfo::overflowFlag

Description:

Thread stack overflow flag

peakUsed

unsigned int ThreadInfo::peakUsed

Description:

Peak stack space usage

peekSize

unsigned int MemInfo::peekSize

Description:

Peak memory usage of the memory pool

priority

unsigned short ThreadInfo::priority

Description:

Thread priority

ra

unsigned int ThreadInfo::ra

Description:

Current thread RA

sp

unsigned int ThreadInfo::sp

Description:

Thread stack pointer

stackSize

unsigned int ThreadInfo::stackSize

Description:

Thread stack size

status

unsigned short ThreadInfo::status

Description:

Thread status

taskMutex

void* ThreadInfo::taskMutex

Description:

Thread mutex

taskSem

void* ThreadInfo::taskSem

Description:

Thread semaphore

topOfStack

unsigned int ThreadInfo::topOfStack

Description:

Thread stack top

total

unsigned int MemInfo::total

Description:

Total space of the memory pool, in bytes

totalLmp

unsigned int MemInfo::totalLmp

Description:

Total space of the small memory pool, in bytes

tp

unsigned int ThreadInfo::tp

Description:

Current thread TP

used

unsigned int MemInfo::used

Description:

Used space of the memory pool, in bytes

usedLmp

unsigned int MemInfo::usedLmp

Description:

Used space of the small memory pool, in bytes

usedNodeNum

unsigned int MemInfo::usedNodeNum

Description:

Number of used nodes in the memory pool

1
https://gitee.com/bolewei/docs.git
git@gitee.com:bolewei/docs.git
bolewei
docs
docs
master

搜索帮助