浅谈DeFi质押流动性挖矿项目系统开发方案(技术详情)分析逻辑

简介: 浅谈DeFi质押流动性挖矿项目系统开发方案(技术详情)分析逻辑

区块链代码计算函数方式
继续往下看

/**

  • @brief This is the code that gets called when the processor receives an
  • unexpected interrupt. This simply enters an infinite loop, preserving
  • the system state for examination by a debugger.
  • @param None
  • @retval None

*/

.section  .text.Default_Handler,"ax",%progbits

Default_Handler:
Infinite_Loop:
b Infinite_Loop
.size Default_Handler, .-Default_Handler
复制
注释说明如果处理器收到一个未预料的中断,将会进入这个死循环中,即Default_Handler
.section .text.Reset_Handler这里表示定义的是.text段中的Reset_Handler段,ax表示权限,ax是 allocation execute的缩写,表示该节区可分配并且可执行,progbits是type,详细定义为.section section_name [, “flags”[, %type[,flag_specific_arguments]]] 这里不具体解释。
中断向量表和服务函数
这部分主要是中断向量表的定义,摘抄部分如下:

/
*

  • The minimal vector table for a Cortex M3. Note that the proper constructs
  • must be placed on this to ensure that it ends up at physical address
  • 0x0000.0000.

*/
.section .isr_vector,"a",%progbits
.type g_pfnVectors, %object
.size g_pfnVectors, .-g_pfnVectors

g_pfnVectors:
.word _estack
.word Reset_Handler
.word NMI_Handler
.word HardFault_Handler
/省略/

/ External Interrupts /
.word WWDG_IRQHandler / Window WatchDog /
.word PVD_IRQHandler / PVD through EXTI Line detection /
.word TAMP_STAMP_IRQHandler / Tamper and TimeStamps through the EXTI line /
.word RTC_WKUP_IRQHandler / RTC Wakeup through the EXTI line /
.word FLASH_IRQHandler / FLASH /
.word RCC_IRQHandler / RCC /
/省略/
/*
*

  • Provide weak aliases for each Exception handler to the Default_Handler.
  • As they are weak aliases, any function with the same name will override
  • this definition.

*/
.weak NMI_Handler
.thumb_set NMI_Handler,Default_Handler

.weak HardFault_Handler
.thumb_set HardFault_Handler,Default_Handler

/省略/

/ (C) COPYRIGHT STMicroelectronics END OF FILE*/
复制
注释部分,表明中断向量表需要在物理地址0x00000000的位置上,如果是IAP当然可以通过程序后续配置调整地址大小,但是第一次启动必然要从0开始
.section .isr_vector,"a",%progbits定义中断向量段和它的类型,a表示可分配,%progbits表示段内包含数据。
.type g_pfnVectors, %object段符号名为g_pfnVectors,%object表示符号为数据对象。
.size g_pfnVectors, .-g_pfnVectors表示g_pfnVectors的大小是从当前位置-定义位置。
.word _estack在当前位置放置一个word型的值,这个值为_estack;后面同理。
.thumb_set NMI_Handler,Default_Handler等效于.set指令,因为它创建了一个符号,该符号是另一个符号的别名(可能尚未定义)。 该指令还具有添加的属性,因为它以.thumb_func指令相同的方式将别名符号标记为thumb函数入口点。即NMI_Handler默认用Default_Handler替代,但同时NMI_Handler还是个若引用,因此当我们在程序里定义了这个中断服务函数的时候,就会替代这里。

相关文章
|
Python
tkinter之菜单按钮
tkinter之菜单按钮
118 1
|
Ubuntu 关系型数据库 MySQL
M1 macos docker获取x86 x64 amd 等指定架构版本linux ubuntu mysql 容器并启动容器
M1 macos docker获取x86 x64 amd 等指定架构版本linux ubuntu mysql 容器并启动容器
|
域名解析 缓存 网络协议
中间人攻击之DNS欺骗
【8月更文挑战第13天】
904 2
|
10月前
|
人工智能 监控 测试技术
阿里云磐久服务器稳定性实践之路
阿里云服务器质量智能管理体系聚焦自研服务器硬件层面的极致优化,应对高并发交付、短稳定性周期、早问题发现和快修复四大挑战。通过“三个重构”(质量标准、开发流程、交付模式)、“六个归一”(架构、硬件、软件、测试、部件、制造)策略,实现芯片、整机和云同步发布,确保快速稳定上量。此外,全场景测试体系与智能预警、分析、修复系统协同工作,保障服务器在萌芽阶段发现问题并及时解决,提升整体质量水平。未来,阿里云将继续深化大数据驱动的质量管理,推动服务器行业硬件质量的持续进步。
|
Linux 开发工具 开发者
智谱ChatGLM3本地私有化部署(Linux)
智谱ChatGLM3本地私有化部署(Linux)
483 0
|
Python
基于Arduino的花瓶
基于Arduino的花瓶
129 0
|
算法 计算机视觉 Docker
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
301 3
Docker容器中的OpenCV:轻松构建可移植的计算机视觉环境
|
存储 数据可视化 前端开发
Web Audio API 第5章 音频的分析与可视化
Web Audio API 第5章 音频的分析与可视化
|
边缘计算 安全 数据可视化
网络安全之资产及攻击面管理
“摸清家底,认清风险”做好资产管理是安全运营的第一步。那么什么是资产,资产管理的难点痛点是什么,如何做好资产管理,认清风险。带着这些问题我们来认识一下资产及攻击面管理。
1659 0