CC13xx Driver Library: [cpu.h] CPU - Texas Instruments
| CC13xx Driver Library | ![]() |
- Main Page
- Related Pages
- APIs
- Register Descriptions
- Online Resources
-
Functions | |
| uint32_t | CPUcpsid (void) |
| Disable all external interrupts. More... | |
| uint32_t | CPUprimask (void) |
| Get the current interrupt state. More... | |
| uint32_t | CPUcpsie (void) |
| Enable all external interrupts. More... | |
| uint32_t | CPUbasepriGet (void) |
| Get the interrupt priority disable level. More... | |
| void | CPUdelay (uint32_t ui32Count) |
| Provide a small delay using a simple loop counter. More... | |
| static void | CPUwfi (void) |
| Wait for interrupt. More... | |
| static void | CPUwfe (void) |
| Wait for event. More... | |
| static void | CPUsev (void) |
| Send event. More... | |
| static void | CPUbasepriSet (uint32_t ui32NewBasepri) |
| Update the interrupt priority disable level. More... | |
| static void | CPU_WriteBufferDisable (void) |
| Disable CPU write buffering (recommended for debug purpose only). More... | |
| static void | CPU_WriteBufferEnable (void) |
| Enable CPU write buffering (default setting). More... | |
Detailed Description
IntroductionThe CPU API provides a set of functions performing very low-level control of the system CPU. All functions in this API are written in assembler in order to either access special registers or avoid any compiler optimizations. Each function exists in several compiler specific versions: One version for each supported compiler.
Function Documentation
| inlinestatic |
Disable CPU write buffering (recommended for debug purpose only).
This function helps debugging "bus fault crashes". Disables write buffer use during default memory map accesses.
This causes all bus faults to be precise bus faults but decreases the performance of the processor because the stores to memory have to complete before the next instruction can be executed.
ReturnsNone See alsoCPU_WriteBufferEnable() 397 { 398 HWREGBITW( CPU_SCS_BASE + CPU_SCS_O_ACTLR, CPU_SCS_ACTLR_DISDEFWBUF_BITN ) = 1; 399 }
| inlinestatic |
Enable CPU write buffering (default setting).
Re-enables write buffer during default memory map accesses if CPU_WriteBufferDisable() has been used for bus fault debugging.
ReturnsNone See alsoCPU_WriteBufferDisable() 415 { 416 HWREGBITW( CPU_SCS_BASE + CPU_SCS_O_ACTLR, CPU_SCS_ACTLR_DISDEFWBUF_BITN ) = 0; 417 }| uint32_t CPUbasepriGet | ( | void | ) |
Get the interrupt priority disable level.
Use this function to get the level of priority that will disable interrupts with a lower priority level.
ReturnsReturns the value of the BASEPRI register.Referenced by IntPriorityMaskGet().
278 { 279 // This function is written in assembly. See cpu.c for compiler specific implementation. 280 }
| inlinestatic |
Update the interrupt priority disable level.
Use this function to change the level of priority that will disable interrupts with a lower priority level.
Parameters| ui32NewBasepri | is the new basis priority level to set. |
Referenced by IntPriorityMaskSet().
338 { 339 // This function is written in assembly. See cpu.h for compiler specific implementation. 340 }| uint32_t CPUcpsid | ( | void | ) |
Disable all external interrupts.
Use this function to disable all system interrupts. This function is implemented as a wrapper function for the CPSID instruction.
ReturnsReturns the state of PRIMASK on entryReferenced by AuxAdiDdiSafeRead(), AuxAdiDdiSafeWrite(), IntMasterDisable(), SafeHapiAuxAdiSelect(), SafeHapiVoid(), and SysCtrlSystemReset().
69 { 70 // This function is written in assembly. See cpu.c for compiler specific implementation. 71 }| uint32_t CPUcpsie | ( | void | ) |
Enable all external interrupts.
Use this function to enable all system interrupts. This function is implemented as a wrapper function for the CPSIE instruction.
ReturnsReturns the state of PRIMASK on entry.Referenced by AuxAdiDdiSafeRead(), AuxAdiDdiSafeWrite(), IntMasterEnable(), SafeHapiAuxAdiSelect(), and SafeHapiVoid().
207 { 208 // This function is written in assembly. See cpu.c for compiler specific implementation. 209 }| void CPUdelay | ( | uint32_t | ui32Count | ) |
Provide a small delay using a simple loop counter.
This function provides means for generating a constant length delay. It is written in assembly to keep the delay consistent across tool chains, avoiding the need to tune the delay based on the tool chain in use.
NoteIt is not recommended using this function for long delays.Notice that interrupts can affect the delay if not manually disabled in advance.
The delay depends on where code resides and the path for code fetching:
- Code in flash, cache enabled, prefetch enabled : 4 cycles per loop (Default)
- Code in flash, cache enabled, prefetch disabled : 5 cycles per loop
- Code in flash, cache disabled : 7 cycles per loop
- Code in SRAM : 6 cycles per loop
- Code in GPRAM : 3 cycles per loop
Calculate delay count based on the wanted delay in microseconds (us):
- ui32Count = [delay in us] * [CPU clock in MHz] / [cycles per loop]
Example: 250 us delay with code in flash and with cache and prefetch enabled:
- ui32Count = 250 * 48 / 4 = 3000
| ui32Count | is the number of delay loop iterations to perform. |
Referenced by CRYPTOAesCbc(), CRYPTOAesEcb(), CRYPTOAesLoadKey(), CRYPTOCcmAuthEncrypt(), CRYPTOCcmAuthEncryptResultGet(), CRYPTOCcmInvAuthDecrypt(), CRYPTOCcmInvAuthDecryptResultGet(), and I2CMasterControl().
344 { 345 // This function is written in assembly. See cpu.c for compiler specific implementation. 346 }| uint32_t CPUprimask | ( | void | ) |
Get the current interrupt state.
Use this function to retrieve the current state of the interrupts. This function is implemented as a wrapper function returning the state of PRIMASK.
ReturnsReturns the state of the PRIMASK (indicating whether interrupts are enabled or disabled). 140 { 141 // This function is written in assembly. See cpu.c for compiler specific implementation. 142 }
| inlinestatic |
Send event.
Use this function to let the System CPU send an event. This function is implemented as a wrapper function for the SEV instruction.
ReturnsNone 288 { 289 // This function is written in assembly. See cpu.h for compiler specific implementation. 290 }
| inlinestatic |
Wait for event.
Use this function to let the System CPU wait for the next event. This function is implemented as a wrapper function for the WFE instruction.
ReturnsNone 241 { 242 // This function is written in assembly. See cpu.h for compiler specific implementation. 243 }
| inlinestatic |
Wait for interrupt.
Use this function to let the System CPU wait for the next interrupt. This function is implemented as a wrapper function for the WFI instruction.
ReturnsNoneReferenced by PRCMDeepSleep(), and PRCMSleep().
194 { 195 // This function is written in assembly. See cpu.h for compiler specific implementation. 196 }- © Copyright 2015 - 2018 Texas Instruments Incorporated. All rights reserved.
Từ khóa » H Cpu
-
Intel® Processor Names, Numbers And Generation List
-
Brief: 11th Gen Intel® Core™ H-Series Processors
-
What Do 'H','G' And 'U' Indicate In Intel Processors? - Quora
-
Intel's 11th-gen H-series CPUs Are Finally Ready For Powerful Gaming ...
-
Intel U Vs. P Vs. H Laptop CPUs: What's The Difference? - MakeUseOf
-
Intel Launches 12th-Generation 'Alder Lake H' Laptop CPUs - PCMag
-
Tìm Hiểu Các Dòng Chip G, H, HQ, U, G Trên Laptop
-
SIMATIC S7-1500 R/H For Redundancy And High Availability - Siemens
-
Intel I7 10th Generation Laptop Processors (H Series) | Lenovo US
-
Intel Announces 12th-gen H Processors For Laptops With Hybrid Design
-
H410M H (rev. 1.x) Key Features | Motherboard - GIGABYTE Global
-
[PDF] CS1_ Operation Manual
-
Comet Lake (microprocessor) - Wikipedia
-
Best Laptop CPUs In 2021: AMD Vs. Intel Vs. Apple
