STM32也会遇到这样的绝对定位的问题如下: uint8_t UART_RX_BUF[1024] __attribute__ ((at(0X20001000))); //就是将串口接收的数据定位到RAM中起始地址为0X20001000; 绝对定位要么定位到flash、要么定位到RAM,这里我们将定位
转载 2018-07-04 17:29:00
633阅读
2评论
#define sec(x) __attribute__((section(#x),used))关键字attribute可用于为函数或数据声明属性值,这样可以让编译程序优化处理。比如内核里面经常能看见的section:#define __exception __attribute__((section(".exception.text")))1具有该属性...
原创 2021-12-17 14:46:39
282阅读
#define sec(x) __attribute__((section(#x),used))关键字attribute可用于为函数或数据声明属性值,这样可以让编译程序优化处理。比如内核里面经常能看见的section:#define __exc
原创 2022-03-02 10:06:33
353阅读
__attribute__ noreturnThis attribute tells the compiler that the function won't ever return,and this can be used to suppress errors about code paths not beingreached. The C library functions abort() a
原创 2023-06-06 10:55:53
63阅读
gcc的__attribute__编译属性有很多子项,用于改变作用对象的特性。这里讨论section子项的作用。__att
原创 2023-05-26 14:44:07
528阅读
http://liumh.com/2018/08/18/ios-attribute-section/ __attribute__是在C, C++, Objective-C语言中使用的编译指令,一般以__attribute__(xxx)的形式出现在代码中,方便开发者向编译器表达某种要求,参与控制如St
转载 2021-05-13 16:27:00
930阅读
2评论
 1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如: 在TC下:struct my{ char ch; int a;} sizeo
原创 2013-04-09 14:50:09
641阅读
## 实现`__attribute__ ios`的流程 为了实现`__attribute__ ios`,我们需要按照以下步骤进行操作: | 步骤 | 操作 | | ---- | ---- | | 1 | 创建一个新的Objective-C类或选择一个已有的类 | | 2 | 在类的头文件中添加`__attribute__ ios`声明 | | 3 | 实现`__attrib
原创 2023-11-02 10:38:35
45阅读
在gcc手册中找到了有关的解释: unused:This attribute, attached to a function, means that the function is meant to be         possibly unused. GCC will not produce a warning for this function. ======================
转载 2014-03-21 10:52:00
422阅读
2评论
__attribute__((weak))
原创 2022-10-15 07:15:23
299阅读
构造与析构:#include <stdio.h>#include <stdlib.h>static __attribute__((constructor)) void before(){ printf("Hello");}static __attribute__((destructor)) void after(){ printf(" World!\n");
转载 2017-08-05 14:38:00
144阅读
2评论
_attribute__((constructor)) 先于main()函数调用    __attribute__((destructor)) 在main()函数后调用  #include <stdio.h>#include <stdlib.h> static void before(void) __attribute__((constructor));static voi
转载 2021-05-12 13:55:59
2917阅读
GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。...
转载 2009-03-26 20:59:00
131阅读
2评论
GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后...
转载 2015-04-05 01:21:00
140阅读
2评论
GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function  Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__参数。__at
原创 2021-08-11 10:23:03
2521阅读
__attribute__ linux是GNU C编译器的功能之一,是一种在编译期间向编译器传达额外信息的方法。通过在代码中使用__attribute__关键字,程序员可以告诉编译器如何处理函数、变量或类型。在Linux系统中,__attribute__ linux通常用于优化代码、消除警告或者处理一些特殊情况。 一般来说,__attribute__ linux支持的参数有很多种。其中一些常见的
原创 2024-04-18 10:39:09
120阅读
GPIOx_CRL(x=A~E) 地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址 GPIO通用输入输出8种工作模式 1.浮空输入模式: (1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时 (2)STM32复位之后默 ...
转载 2021-04-08 13:51:00
891阅读
2评论
通过一个简单的例子介绍一下gcc的__attribute__ ((constructor))属性的作用。gcc允许为函数设置__attribute__ ((constructor))和__attribute__ ((destructor))两种属性,顾名思义,就是将被修饰的函数作为构造函数或析构函数
转载 2018-07-11 11:13:00
783阅读
2评论
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件。 第三步,新建一个main.c文件,并添加到
转载 2023-06-19 15:27:24
969阅读
总线矩阵  上图为stm32f4的总线矩阵,其中主控总线有8条,被控总线有7条,主设备和从设备通过各自的总线两两相交连接,图中两条总线相交且为圆圈的地方,表示这两条总线对应的主设备可以访问从设备,如I总线(指令总线),只有跟 M0、M2和M6这三根被控总线交叉的时候才有圆圈,就表示I总线只能跟这三根被控总线通信,这样就可以知道stm32f4的启动有三种分别是FLASH、内部SRAM、外部存储FSM
  • 1
  • 2
  • 3
  • 4
  • 5