ucOS_II移植:Stm32启动代码分析

uCOS-III应用开发笔记之一:uCOS-III在STM32的移植 uCOS-III实时操作系统在MCU平台被广泛使用,在这里我们将简单的记录如何将uCOS-III实时操作系统移植到目标平台上并运行。 1、必要的准备 在开始uCOS-III实时操作系统的移植前,我们还需要做一些必要的准备,如确定目标板、准备目标工程及uCOS-III实时操作系统源码等。 1.1、获取uCOS-III源码 在移植uCOS-III之前,首先要获取它的源码。其源码可以从Micrium 的官方网站:www.micrium.com得到。为了方便移植,我们建议直接下载Micrium移植好的基于目 阅读详情
用的编译工具是keil,在用keil建立stm32工程时,一般会产生一个启动文件,STM32F10x.s,在st提供的库函数里,用cortexm3_macro.s和stm32f10x_vector.s来代替这个文件。不过内容都大同小异。
我在csdn上搜到了一个在stm32上移植好的ucos,打算在这个代码的基础上,添加注释,先学别人的,然后再自己移植。
我获得的这份例程,使用了startup_stm32f10x_md.s作为启动文件,其中,删去了部分采用扩展SRAM的代码。
其文件内容为
startup_stm32f10x_md.s

;******** (C) COPYRIGHT2010 STMicroelectronics ********************
;* File Name          : startup_stm32f10x_md.s
;* Author             : MCD Applica tion Team
;* Version            : V3.3.0
;* Date               : 04/16/2010
;* Description:STM32F10x Medium Density Devices vector table for RVMDK
;*                      toolchain.  
;*                      This module performs:
;*                      - Set the initial SP
;*                      - Set the initial PC ==Reset_Handler
;*          - Set the vector table entries withthe exceptions ISR address
;*                      - Configure the clocksystem
;*         - Branches to __main in the C library(which eventually
;*                        calls main()).
;*            After Reset the CortexM3 processoris in Thread mode,
;*             priority is Privileged, and theStack is set to Main.
;* <<< UseConfiguration Wizard in Context Menu >>>   
;***********************************************************************
; THE PRESENT FIRMWAREWHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
; WITH CODINGINFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
; AS A RESULT, STMICROELECTRONICSSHALL NOT BE HELD LIABLE FOR ANY DIRECT,
; INDIRECT ORCONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
; CONTENT OF SUCHFIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
; INFORMATION CONTAINEDHEREIN IN CONNECTION WITH THEIR PRODUCTS.
;**********************************************************************
; Amount of memory (inbytes) allocated for Stack
; Tailor this value toyour application needs
; <h> StackConfiguration
;   <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Stack_Size      EQU    0x00000400
;定义堆栈大小
                  AREA   STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem       SPACE  Stack_Size
__initial_sp
;此处定义STACK段的程序,该段入口为__initial_sp,这是值在后面放在了0x00000000的位置处,作为MSP的初始值,一般程序
;编译的时候,由编译器赋值。我的编译器将其赋为0x20001138,如果用到了外接的SRAM,需要用
;__initial_sp EQU0x20000000 + Stack_Size 来定义
; <h> HeapConfiguration
;   <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
                                   
Heap_Size       EQU    0x00000200
                AREA    HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem        SPACE  Heap_Size
__heap_limit
                PRESERVE8
                THUMB
; Vector Table Mapped toAddress 0 at Reset
;下面是地址0x00000000 开始处的中断向量表,此段名RESET不可更改,是编译器里默认的起始段
                AREA    RESET, DATA, READONLY
                EXPORT  __Vectors
                EXPORT  __Vectors_End
                EXPORT  __Vectors_Size
__Vectors     DCD     __initial_sp               ; Top of Stack
                DCD     Reset_Handler              ; Reset Handler
                DCD     NMI_Handler                ; NMI Handler
                DCD     HardFault_Handler      ; Hard Fault Handler
                DCD     MemManage_Handler     ; MPU Fault Handler
                DCD     BusFault_Handler       ; Bus Fault Handler
                DCD     UsageFault_Handler   ; Usage Fault Handler
                DCD     0                          ; Reserved
                DCD     0                          ; Reserved
                DCD     0                          ; Reserved
                DCD     0                          ; Reserved
                DCD     SVC_Handler                ; SVCall Handler
                DCD     DebugMon_Handler           ; Debug Monitor Handler
                DCD     0                          ; Reserved
                ;DCD     PendSV_Handler             ; PendSV Handler
                      DCD    OSPendSV                   ;PendSV Handler(for uCOS-II)
                DCD     SysTick_Handler            ; SysTick Handler
                ; External Interrupts
                DCD     WWDG_IRQHandler            ; Window Watchdog
                DCD     PVD_IRQHandler             ; PVD through EXTI Line detect
                DCD     TAMPER_IRQHandler          ; Tamper
                DCD     RTC_IRQHandler             ; RTC
                DCD     FLASH_IRQHandler           ; Flash
                DCD     RCC_IRQHandler             ; RCC
                DCD     EXTI0_IRQHandler           ; EXTI Line 0
                DCD     EXTI1_IRQHandler           ; EXTI Line 1
                DCD     EXTI2_IRQHandler           ; EXTI Line 2
                DCD     EXTI3_IRQHandler           ; EXTI Line 3
                DCD     EXTI4_IRQHandler           ; EXTI Line 4
                DCD     DMA1_Channel1_IRQHandler ; DMA1 Channel 1
                DCD     DMA1_Channel2_IRQHandler ; DMA1 Channel 2
                DCD     DMA1_Channel3_IRQHandler ; DMA1 Channel 3
                DCD     DMA1_Channel4_IRQHandler ; DMA1 Channel 4
                DCD     DMA1_Channel5_IRQHandler ; DMA1 Channel 5
                DCD     DMA1_Channel6_IRQHandler ; DMA1 Channel 6
                DCD     DMA1_Channel7_IRQHandler ; DMA1 Channel 7
                DCD     ADC1_2_IRQHandler          ; ADC1_2
                DCD     USB_HP_CAN1_TX_IRQHandler; USB HighPriority or CAN1 TX
                DCD     USB_LP_CAN1_RX0_IRQHandler;USB Low  Priority or CAN1 RX0
                DCD     CAN1_RX1_IRQHandler        ; CAN1 RX1
                DCD     CAN1_SCE_IRQHandler        ; CAN1 SCE
                DCD     EXTI9_5_IRQHandler         ; EXTI Line 9..5
                DCD     TIM1_BRK_IRQHandler        ; TIM1 Break
                DCD     TIM1_UP_IRQHandler         ; TIM1 Update
                DCD     TIM1_TRG_COM_IRQHandler   ; TIM1 Trigger and Commutation
                DCD     TIM1_CC_IRQHandler         ; TIM1 Capture Compare
                DCD     TIM2_IRQHandler            ; TIM2
                DCD     TIM3_IRQHandler            ; TIM3
                DCD     TIM4_IRQHandler            ; TIM4
                DCD     I2C1_EV_IRQHandler         ; I2C1 Event
                DCD     I2C1_ER_IRQHandler         ; I2C1 Error
                DCD     I2C2_EV_IRQHandler         ; I2C2 Event
                DCD     I2C2_ER_IRQHandler         ; I2C2 Error
                DCD     SPI1_IRQHandler            ; SPI1
                DCD     SPI2_IRQHandler            ; SPI2
                DCD     USART1_IRQHandler          ; USART1
                DCD     USART2_IRQHandler          ; USART2
                DCD     USART3_IRQHandler          ; USART3
                DCD     EXTI15_10_IRQHandler       ; EXTI Line 15..10
                DCD     RTCAlarm_IRQHandler        ; RTC Alarm through EXTI Line
                DCD     USBWakeUp_IRQHandler       ; USB Wakeup from suspend
__Vectors_End
__Vectors_Size  EQU __Vectors_End - __Vectors
                AREA    |.text|, CODE, READONLY
; Reset handler
Reset_Handler    PROC
;此处删除了原有的关于扩展SRAM的代码,看来这个是默认内部SRAM的                                 EXPORT  Reset_Handler             [WEAK]
     IMPORT __main
     IMPORT SystemInit      ;是初始化RCC外设等的函数,原来的程序是在main起来之后初始化的
                 LDR     R0, =SystemInit         ;这里多了一个SystemInit函数的调用,原来的是直接跳到__main
                 BLX     R0                           
                 LDR     R0, =__main
                 BX      R0
                 ENDP
; Dummy ExceptionHandlers (infinite loops which can be modified)
;这一段的函数定义和声明很是麻烦,其实,只要在DCD前面,用命令IMPORT 来声明一下也是可以的
NMI_Handler     PROC
                EXPORT  NMI_Handler                [WEAK]
                B      .
                ENDP
HardFault_Handler\
                PROC
                EXPORT  HardFault_Handler          [WEAK]
                B       .
                ENDP
MemManage_Handler\
                PROC
                EXPORT  MemManage_Handler          [WEAK]
                B       .
                ENDP
BusFault_Handler\
                PROC
                EXPORT  BusFault_Handler           [WEAK]
                B       .
                ENDP
UsageFault_Handler\
                PROC
                EXPORT  UsageFault_Handler         [WEAK]
                B       .
                ENDP
SVC_Handler     PROC
                EXPORT  SVC_Handler                [WEAK]
                B       .
                ENDP
DebugMon_Handler\
                PROC
                EXPORT  DebugMon_Handler           [WEAK]
                B       .
                ENDP
;PendSV_Handler  PROC
;                EXPORT  PendSV_Handler             [WEAK]
; (for uCOS-II)
OSPendSV        PROC
                EXPORT  OSPendSV                   [WEAK]
                B       .
                ENDP
SysTick_Handler PROC
                EXPORT  SysTick_Handler            [WEAK]
                B       .
                ENDP
Default_Handler PROC
                EXPORT  WWDG_IRQHandler            [WEAK]
                EXPORT  PVD_IRQHandler             [WEAK]
                EXPORT  TAMPER_IRQHandler          [WEAK]
                EXPORT  RTC_IRQHandler             [WEAK]
                EXPORT  FLASH_IRQHandler           [WEAK]
                EXPORT  RCC_IRQHandler             [WEAK]
                EXPORT  EXTI0_IRQHandler           [WEAK]
                EXPORT  EXTI1_IRQHandler           [WEAK]
                EXPORT  EXTI2_IRQHandler           [WEAK]
                EXPORT EXTI3_IRQHandler           [WEAK]
                EXPORT  EXTI4_IRQHandler           [WEAK]
                EXPORT  DMA1_Channel1_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel2_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel3_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel4_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel5_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel6_IRQHandler   [WEAK]
                EXPORT  DMA1_Channel7_IRQHandler   [WEAK]
                EXPORT  ADC1_2_IRQHandler          [WEAK]
                EXPORT  USB_HP_CAN1_TX_IRQHandler  [WEAK]
                EXPORT  USB_LP_CAN1_RX0_IRQHandler [WEAK]
                EXPORT  CAN1_RX1_IRQHandler        [WEAK]
                EXPORT  CAN1_SCE_IRQHandler        [WEAK]
                EXPORT  EXTI9_5_IRQHandler         [WEAK]
                EXPORT  TIM1_BRK_IRQHandler        [WEAK]
                EXPORT  TIM1_UP_IRQHandler         [WEAK]
                EXPORT  TIM1_TRG_COM_IRQHandler    [WEAK]
                EXPORT  TIM1_CC_IRQHandler         [WEAK]
                EXPORT  TIM2_IRQHandler            [WEAK]
                EXPORT  TIM3_IRQHandler            [WEAK]
                EXPORT  TIM4_IRQHandler            [WEAK]
                EXPORT  I2C1_EV_IRQHandler         [WEAK]
                EXPORT  I2C1_ER_IRQHandler         [WEAK]
                EXPORT  I2C2_EV_IRQHandler         [WEAK]
                EXPORT  I2C2_ER_IRQHandler         [WEAK]
                EXPORT  SPI1_IRQHandler            [WEAK]
                EXPORT  SPI2_IRQHandler            [WEAK]
                EXPORT  USART1_IRQHandler          [WEAK]
                EXPORT  USART2_IRQHandler          [WEAK]
                EXPORT  USART3_IRQHandler          [WEAK]
                EXPORT EXTI15_10_IRQHandler       [WEAK]
                EXPORT  RTCAlarm_IRQHandler        [WEAK]
                EXPORT  USBWakeUp_IRQHandler       [WEAK]
WWDG_IRQHandler
PVD_IRQHandler
TAMPER_IRQHandler
RTC_IRQHandler
FLASH_IRQHandler
RCC_IRQHandler
EXTI0_IRQHandler
EXTI1_IRQHandler
EXTI2_IRQHandler
EXTI3_IRQHandler
EXTI4_IRQHandler
DMA1_Channel1_IRQHandler
DMA1_Channel2_IRQHandler
DMA1_Channel3_IRQHandler
DMA1_Channel4_IRQHandler
DMA1_Channel5_IRQHandler
DMA1_Channel6_IRQHandler
DMA1_Channel7_IRQHandler
ADC1_2_IRQHandler
USB_HP_CAN1_TX_IRQHandler
USB_LP_CAN1_RX0_IRQHandler
CAN1_RX1_IRQHandler
CAN1_SCE_IRQHandler
EXTI9_5_IRQHandler
TIM1_BRK_IRQHandler
TIM1_UP_IRQHandler
TIM1_TRG_COM_IRQHandler
TIM1_CC_IRQHandler
TIM2_IRQHandler
TIM3_IRQHandler
TIM4_IRQHandler
I2C1_EV_IRQHandler
I2C1_ER_IRQHandler
I2C2_EV_IRQHandler
I2C2_ER_IRQHandler
SPI1_IRQHandler
SPI2_IRQHandler
USART1_IRQHandler
USART2_IRQHandler
USART3_IRQHandler
EXTI15_10_IRQHandler
RTCAlarm_IRQHandler
USBWakeUp_IRQHandler
                B      .
                ENDP
                ALIGN
;*******************************************************************************
; User Stack and Heapinitialization
;*******************************************************************************
                 IF      :DEF:__MICROLIB           
                ;这里是定义了microlib的情况,一般用在 单片机上,都定义这个库
                 EXPORT  __initial_sp
                 EXPORT  __heap_base
                 EXPORT  __heap_limit
               
                 ELSE
               
                 IMPORT  __use_two_region_memory
                 EXPORT  __user_initial_stackheap
                 
__user_initial_stackheap
                 LDR     R0, = Heap_Mem
                 LDR     R1, =(Stack_Mem + Stack_Size)
                 LDR     R2, = (Heap_Mem +  Heap_Size)
                 LDR    R3, = Stack_Mem
                 BX      LR
                 ALIGN
                 ENDIF
                 END
;******************* (C)COPYRIGHT 2010 STMicroelectronics *****END OF FILE*****
startup_stm32f10x_md.s结束
Keil移植uCOS-II到STM32开发板(STM32F107VCT6) 开发环境:Keil V4.60 STM32固件库:V3.5 操作系统:uCOS-II V2.92 开发板:金牛STM32开发板   《IAR移植uCOS-II到STM32开发板(STM32F107VCT6)》(http://blog.youkuaiyun.com/harborxing/article/details/8139495)     说明:此教程是参考野火uCOS移植教程完成移植后自我修 阅读详情

相关推荐

RTOS之UCOS(七)---UCOS系统移植

经过前一篇文章固件库的移植,我们的处理器就能完成从上电复位到进入main函数的过程,在main函数中初始化我们要用到的外设,并完成外设的中断处理函数。如果我们需要处理器完成的任务比较单一,可以不使用操作系统,比如BLE协议栈应用开发就是用了状态机模型,但如果需要处理器完成的任务比较多,为了便于管理可以引入轻巧的实时操作系统,下面以UCOS-II为例介绍下实时操作系统的移植。 1. UCOS的底层支...

流云 3435

STM32的时钟安全系统(CSS)系统

原因 在实际应用中,经常出现由于晶体振荡器在运行中失去 作用,造成微处理器的时钟源丢失,从而出现死机的现象,导致系统出错。严重时,由于系统的死机造成监控失效, 导致无法挽回的损失! 目的 STM32作为一个可靠稳定的微处理器,但是不能排除由于某些外界特殊因素可能造成STM32的外部振荡器失效,所以在芯片中需要一种包含机制能够在STM32运行时,一旦外部晶体振荡器(HSE) 失...

xiayufeng520的专栏 7853

STM32基于HAL库移植UCOS-III教程

STM32基于HAL库移植uCOS-III教程

weixin_57356056的博客 1530

stm32学习笔记-时钟系统

文章目录一、总体时钟树框图二、主系统时钟2.1 总体介绍2.2 细分介绍HSE时钟HSI时钟PLLCLK锁相环时钟HCLK时钟PCLK1时钟PCLK2时钟三、其他时钟3.1 RTC时钟3.2 IWDG独立看门狗时钟四、MCO时钟输出五、stm32时钟系统的编程5.1 系统启动文件的默认时钟配置5.2 时钟配置函数 为什么stm32要设计如此复杂的时钟树? 大大节省功耗,需要用到的外设开启时钟,不需...

某风吾起的博客 2202

基于STM32Cubemx移植Rt-thread-nano

RT-THREAD-NANO前言一、为什么选择Rt-thread?二、下载相关资料包1.引入库2.读入数据总结 前言 本文将简要介绍使用STM32Cubemx移植国产操作系统rt-thread和对rt-thread的简介,以及简单的使用 一、为什么选择Rt-thread? 那有这么多实时操作系统,不选为什么不选FreeRTOS,uCos-II/III或者鸿蒙os。我就简单表达表达我为什么选择rt-trhead不选其他。 rt-thread优势: 时代趋势: 未来趋势就是物联网,边缘计算,居家需求上升等等

weixin_46185705的博客 5630

最详细的uC/OS-II 移植到STM32

前言: 说点废话,网上有很多关于uCOS-ii移植的文章,好多都是千篇一律,理论性很强,分析了一大堆虚头巴脑的东西,真想问他们,你确定你分析的这些东西是需要你做的工作吗?实操性严重欠缺。。。这方面我也走了很多弯路,下面就将自己的移植过程一步步的记录下来,也给大家做做参考。 首先,简单总结一下移植的大概过程: (1)   去uC/OS-ii官网下载你要移植芯片CPU的相关案例,不一

ARM_Tutor的专栏 5943

STM32F767 RCC CSS功能

RCC CSS

smallerlang的博客 799

基于STM32cubemx移植UCOSIII

注意,这可能是你在全网找到的最完整,最妈妈级的教程!!! 说一下原因吧 自从用上cubemx之后,便一发不可收拾,研究来研究去,终于发现到了移植UCOS的时候了,可是网络上的移植教程基本上都是基于标准库的,怎么,瞧我HAL库不起还是咋地了,今天就带给大家最详细的移植教程,看完还移植不成功怎么办,不怕,工程文件给到你! 还请各位看官给个素质三。。对不起,串台了,给个赞再走呗! 移植os是个大工程,这篇文章注定要非常长,如果你能耐下心来看到最后,咱俩就是朋友。废话不多说,我们直接开锤 -------------

qq_42092815的博客 6870

stm32启动代码详细分析记录

stm32启动代码详细分析记录 启动的代码中用到的汇编指令解析 1 先在RAM中分配系统使用的栈,RAM的起始地址为0x2000_0000 2 然后在RAM中分配变量使用的堆 3 然后在CODE区(flash)分配中断向量表,flash的起始地址为0x0800_0000,该中断向量表就从这个起始地址开始分配 4 分配完成后,再定义和实现相应的中断函数, 5 所有的中断函数全部带有[weak]特性,...

weixin_42149196的博客 1872

stm32时钟安全系统配置方法

STM32已提供了一个时钟失常恢复机制(CSS),当系统选择HSE作系工作时钟,并打开了CSS功能后,一旦HSE由于外部原因而停震时,将自动切换到内部HSI运行,并产生NMI中断,于是可以在NMI中断中进行安全处理。

IEEE Transaction期刊模板使用注意事项

本文将总结使用IEEE Transactions系列期刊的投稿模板时的一些注意事项,包括模板本身的使用规范、参考文献的正确格式等其他内容。

weixin_39529207的博客 2万+

STM32时钟安全机制(CSS)研究及实现

时钟对于MCU而言就像脉搏一样,在恶劣情况下如果出现外部晶振短路的情况会导致MCU无法正常运行。如果MCU应用于安全生产时,有可能造成安全事故。为了应对这一突发状况,ST公司生产的STM32采用双时钟机制,在外部晶振被短路的情况下,转而使用内部RC振荡器作为自己时钟心跳保证系统正常运行。然而RC振荡器并不是非常的准确,我们希望能够在外部晶振恢复正常的情况下继续使用外部晶振。

wandermen的专栏 1万+

Latex下使用JabRef添加参考文献

文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 Latex可以手动添加参考文献,但文献过多时,使用JabRef软件相对方便。 提示:以下是本篇文章正文内容,下面案例可供参考 一、JabRef安装 网址:http://www.jabref.org 打开网址后,点击“Download” 进入如下页面后,选择 portable (便携版,无需安装),下载后是一压缩包,打开即可使用。 二、使用 1.创建库 ...

sz3076799的博客 3467

uCos在stm32上的移植总结

操作系统:Windows XP 开发环境:Keil uVision3 –MDK 实验开发板:open103Z 一、准备 1、        keil-MDK  下载地址:http://www.keil.com/download/product/ 2、        uCOS-II 源码(移植版本):http://micrium.com/download/Micrium-ST-uCOS

Tumbler 4149

【FPGA的基础快速入门23--------OV5640摄像头VGA显示】

FPGA的基础学习--------OV5640摄像头VGA显示OV5640简介二级目录三级目录 OV5640简介 OV5640同OV7725一样,都是Omni Vision(豪威科技)公司生产的CMOS图像传感器。 OV5640支持更高的分辨率(500W像素)、采集速率,具有更高的图像处理性能,主要应用在手机、数码相机、电脑多媒体等领域。 OV5640支持LED补光、MIPI(移动产业处理器接口)输出接口和DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及AFC (自动聚焦控制)等功能。 OV

暮雨中的坚果的博客 7688

Abaqus中Cohesive单元建模:从本构到失效的完整指南

本文提供了Abaqus中Cohesive单元建模的完整指南,涵盖从本构模型到失效分析的全过程。详细解析了Cohesive单元作为模拟界面粘结与失效的关键工具,其核心在于弹性本构、损伤起始准则和损伤演化定律的设置。文章通过双悬臂梁(DCB)实例,手把手指导前处理、材料定义、求解设置及后处理分析,并分享了刚度、强度、断裂能等关键参数的影响与收敛性调优的实用避坑技巧,帮助用户准确模拟复合材料及胶接结构的界面失效行为。

cuda7parallel的博客 700

STM32平台移植uCOS-II详细说明

文档作者:合嵌电子科技有限公司 移植准备 1.     建立工程所需的文件夹 l 建立文件夹uCOS-II-Port                                         :工程根目录 l 建立文件夹uCOS-II-Port/App                           :存放用

獠的专栏 5396

基于Blender软件对Matterport3D数据集场景可视化

使用Blender软件对 Matterport3D 中的室内场景进行可视化。

qq_44100524的博客 289

uCOS-II移植到STM32的详细步骤

前 言 说点废话,网上有很多关于uCOS-ii移植的文章,好多都是千篇一律,理论性很强,分析了一大堆虚头巴脑的东西,真想问他们,你确定你分析的这些东西是需要你做的工作吗?实操性严重欠缺…这方面我也走了很多弯路,下面就将自己的移植过程一步步的记录下来,也给大家做做参考。 首先,简单总结一下移植的大概过程: (1) 去uC/OS-ii官网下载你要移植芯片CPU的相关案例,

sunymen的专栏 2108

智能体异常行为检测-基于行为序列的异常模式识别技术【附代码】

在多智能体系统(Multi-Agent Systems, MAS)中,智能体之间的行为协调与自主决策是系统稳定运行的关键。然而,当某个智能体因策略偏移、环境变化或潜在攻击而出现**异常行为(Abnormal Behavior)**时,整个系统可能陷入混乱或崩溃。

一键难忘的博客 1143

AI智能体在零售行业的5大变革性应用

本文旨在全面介绍AI智能体在零售行业的关键应用场景,分析其技术原理和商业价值,帮助读者理解这些技术如何改变传统零售模式。文章将从核心概念入手,逐步深入五大应用场景的技术实现,最后探讨未来趋势和挑战。AI智能体:能够感知环境、做出决策并执行行动的智能软件实体机器学习:让计算机从数据中学习模式而无需显式编程的技术深度学习:基于神经网络的机器学习方法,能够处理复杂模式识别核心概念回顾AI智能体是零售数字化转型的关键驱动力从推荐系统到库存管理,AI正在重塑每个零售环节。

AI 原生应用开发的博客 1350

基于IAR和STM32的uCOS-II移植

网上基于MDK的移植数不胜数,但是基于IAR的移植几乎没有,因为官方的例程就是基于IAR的,所以移植起来很简单,没人介绍,但还是得小心谨慎,一不小心就出错,对于新手来说,查找错误可不是那么容易的。IAR建立工程,这里就不介绍。 以下红色部分需要与MCU型号对应 (1)在官网下载适合自己STM32的uCOS-II库,连接如下,我用的MCU是STM32F103VCT6,属于大容量的,所...

winnerycy的博客 1490

01-系统技术架构师必备——软件架构设计基础与核心概念

摘要 本文系统阐述了软件架构设计的核心概念与方法论,重点涵盖以下内容:1)软件架构的四大要素(构件、连接件、约束、配置)及其边界划分;2)Garlan & Shaw五大架构风格(数据流、调用/返回、独立构件、虚拟机、仓库)的典型应用场景;3)基于电商库存系统的架构选型实战案例,展示如何根据业务需求(高并发、最终一致性)选择事件驱动架构配合Saga模式;4)介绍ABSD、DSSA等主流架构方法论及ISO/IEEE标准体系。文章融合金融与互联网领域的架构实践经验,为技术架构师提供系统性的知识框架和决策参考。

模界 | AI工程化实践者 181

STM32 —— UCOS 移植

STM32 —— UCOS 移植 完成这个实验首先我们需要在官网上下载 uc/os iii 这个系统,官网下载网址:Browse Example Projects for the µC/ Product Line 这里版本一定要下载正确,不然问题只会越来越多,版本如下: 注意:这里,我查询了很多资料,并没有看到移植的版本,并且这里 STM32F1 对应的系统版本只有 F103ZE-SK 、F1...

ppqppl的博客 1552

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IAR移植uCOS-II到STM32开发板(STM32F107VCT6)

开发环境:IAR V5.3 STM32固件库:V3.5 操作系统:uCOS-II V2.92 开发板:金牛STM32开发板   《keil移植uCOS-II到STM32开发板(STM32F107VCT6)》(http://blog.youkuaiyun.com/harborxing/article/details/8102323)    1.从ST官网下载STM32F10x固件库代码(http:

harborxing的专栏 5063

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

STM32移植uCOS-II系统(2)

1.工程文件结构 在原来的STM32工程文件下添加新文件夹uCOS-II 把图片中的Ports和Source复制过来(上一篇文章安装的文件) 即uCOS-II中的移植文件夹Ports和源文件夹Source 除此之外user文件夹发生了改变 Micrium\Software\EvalBoards\ST\STM32F103ZE-SK\IAR\OS-Probe-LCD 把

像傻瓜一样坚持 1616

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 快速排序法详解
下一篇: .h头文件 .lib库文件 .dll动态库文件之间的关系
csshuke
博客等级 码龄16年 1517粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值