keil

Difference between UINT32_C and uint32_t

北城余情 提交于 2020-01-14 08:04:17
问题 As far as I know the suffix t in uint32_t denote t ype name but I wonder to know what is the C in UINT32_C and what is the differences? 回答1: UINT32_C is a macro which defines integer constant of type uint_least32_t . For example: UINT32_C(123) // Might expand to 123UL on system where uint_least32_t is unsigned long // or just 123U, if uint_least32_t is unsigned int. 7.20.4.1 Macros for minimum-width integer constants The macro INT N _C( value ) shall expand to an integer constant expression

Keil(MDK-ARM)系列教程(五)_Configuration(Ⅰ)

萝らか妹 提交于 2020-01-13 12:52:48
推荐 分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang Ⅰ、写在前面 本文带来的内容正如标题 “ Configuration ”,只是标题包含的内容较多,我计划将其分为: Configuration (Ⅰ) 和 Configuration (Ⅱ) 两篇文章来讲述。 我们常见的 字体大小、颜色、关键字、快捷键 等这些都是在 “ Configuration ”中进行设置。本文讲述 Configuration 中的前面 3 项 Editor 、 Colors & Fonts 、 User KeyWords 。 本文讲述的 Configuration 配置 和前面文章 Options for Target 目标选项 在保存上有一个明显的 区别 : Configuration 修改过后并保存的配置是保存在你 Keil (电脑)软件上;而 Options for Target 修改过后并保存的配置是保存在你( .uvprojx 和 .uvoptx )工程文件中 。 本文内容已经整理成 PDF 文件,提供给大家下载: http://pan.baidu.com/s/1nuJ0RDR Ⅱ、 本文要点 按照前面文章编辑方式, 为了使文章内容精简 , 过于简单 和

WIFI模块开发教程之W600基础篇1:RT_Thread开发环境搭建

a 夏天 提交于 2020-01-11 00:33:19
一、简介 1.RT_Thread简介 RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread也是一个组件完整丰富、高度可伸缩、简易开发、超低功耗、高安全性的物联网操作系统。RT-Thread具备一个IoT OS平台所需的所有关键组件,例如GUI、网络协议栈、安全传输、低功耗组件等等。经过11年的累积发展,RT-Thread已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过2亿台,成为国人自主开发、国内最成熟稳定和装机量最大的开源RTOS。 2.W60X简介 W60X系列Wi-Fi SoC芯片是由国内联盛德公司研发,目前要有W600和W601两款芯片,本项目采用W600,W600是一款支持多接口、多协议的无线局域网 IEEE802.11n(1T1R)的 SoC 芯片。适用于智能家 电、智能家居、无线音视频、智能玩具、医疗监护、工业控制等物联网应用领域。 (1) 为什么选择W600? 一次偶然的会议上,我了解到了W600的存在,号称在华为Hilink项目上,有客户使用esp8266没有通过华为的认证,而使用W600通过了华为认证,原来我以为在wifi性价比的道路上除了乐鑫ESP8266和瑞昱RTL8710,恐难有敌手

error: L6236E: No section matches selector - no section to be FIRST/LAST

六月ゝ 毕业季﹏ 提交于 2020-01-02 03:49:13
问题 I'm new to ARM programming using Keil Microvision V5.12 compiler. I can't compile a simple assembly project getting this error: .\Objects\learn.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST. I've tried searching and couldn't find any solution for this problem. This is what I do: Create a project ( without the startup file) Add a new assembly file (learn.s) Click Build Target . Can anybody help? 回答1: I Added this answer for newbies, So, After create new

Keil uCos 2.52 stm32 【worldsing笔记】

五迷三道 提交于 2019-12-31 19:57:55
1、uCOSii V2.52 a、加了7个可以配置的钩子函数宏 #define OS_TASK_CREATE_HOOK_EN 0 /* 任务创建时调用钩子函数 使能 1 / 禁止 0 */ #define OS_TASK_STAT_HOOK_EN 0 /* 统计任务运行时调用钩子函数 使能 1 / 禁止 0 */ #define OS_TASK_SW_HOOK_EN 1 /* 任务调度时调用钩子函数 使能 1 / 禁止 0 */ #define OS_TIME_TICK_HOOK_EN 1 /* 滴答中断时调用钩子函数 使能 1 / 禁止 0 */ #define OS_TCB_INIT_HOOK_EN 0 /* TCB初始化时调用钩子函数 使能 1 / 禁止 0 */ #define OS_TASK_IDLE_HOOK_EN 0 /* 统计任务运行时调用钩子函数 使能 1 / 禁止 0 */ #define OS_INIT_BEGIN_HOOK_EN 0 /* OS初始化开始时调用钩子函数 使能 1 / 禁止 0 */ #define OS_INIT_END_HOOK_EN 0 /* OS初始化结束时调用钩子函数 使能 1 / 禁止 0 */ b、加了创建任务是自动分配栈接口OSSetupTask和宏,也可以用原生的OSTaskCreate(),OSSetupTask(任务名,

How do I access local C variable in arm inline assembly?

北城以北 提交于 2019-12-30 09:53:31
问题 I want to access local variable declared in C in inline arm Assembly. How do I do that? Global variables can be accessed like this, int temp = 0; Function(){ __asm( ".global temp\n\t" "LDR R2, =temp\n\t" "LDR R2, [R2, #0]\n\t" ); } But how do I access local variables? I tried changing ".global" to ".local" for local variables, but it generated error (undefined reference to `temp'). The IDE I am using is KEIL. Any thoughts? Thanks in Advance. 回答1: According to GCC docs: 6.45.2.3 Output

How do I access local C variable in arm inline assembly?

与世无争的帅哥 提交于 2019-12-30 09:53:03
问题 I want to access local variable declared in C in inline arm Assembly. How do I do that? Global variables can be accessed like this, int temp = 0; Function(){ __asm( ".global temp\n\t" "LDR R2, =temp\n\t" "LDR R2, [R2, #0]\n\t" ); } But how do I access local variables? I tried changing ".global" to ".local" for local variables, but it generated error (undefined reference to `temp'). The IDE I am using is KEIL. Any thoughts? Thanks in Advance. 回答1: According to GCC docs: 6.45.2.3 Output

What is non-aligned access? (ARM/Keil)

血红的双手。 提交于 2019-12-29 06:26:29
问题 I'm using Keil to write Assembly for ARM 7. I have the following runtime error: Non-aligned Access: ARM Instruction at 000000F8H, Memory Access at 7F7F7F7FH Data Abort: ARM Instruction at 000000F8H, Memory Access at 7F7F7F7FH This doesn't really help me, because I don't know what 'non-aligned access' is, (other than the obvious, but I don't really understand what it means) and I am trying to access (store) to 0x7F7F7F7F , what's the issue? Searching I only found a couple of similar issues,

新建一个STM32的Keil V5工程

≡放荡痞女 提交于 2019-12-28 00:36:06
1、创建工程目录 目录结构: CMSIS(存放和内核相关的文件) Library(存放STM32F4 标准外设固件库源码文件和对应的头文件) Listing(存放列表文件) Output(存放编译过程中产生的中间文件) Project(存放工程文件) User(存放用户自己定义的源文件) 2、下载STM32的固件库 ST的官网地址: https://www.st.com/content/st_com/zh.html 在搜索框搜索“STM32 standard library” 选择自己要下的处理器系列(我的是STM32F4xx的) 点击获取软件 –> 接受 –>填写邮箱–> 下载 –> 进入邮箱下载 3、创建Keil 工程 Keil版本:Keil V5 5.29.0.0 1.创建新工程 打开keil Project New uVision Project 选择刚刚创建的Project目录,并取好工程名 2.选择目标设备 就是选择所要开发的芯片设备型号,如果找不到可能是Keil版本太旧了点。 可以通过搜索框来找,比较方便。 弹出的运行时环境管理器直接关掉。 3.添加标准固件库文件 现在就要用上刚刚下载的那个固件库了。 将 STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Include 目录下的所有文件拷贝到 工程目录的CMSIS

2032版本的 Keil注册机

别说谁变了你拦得住时间么 提交于 2019-12-27 03:18:07
2032版注册机 近期,打开Keil5 的License Management 突然发现我的Keil5版本已经即将到期。于是真的很头疼,所以我就上网搜索。 也感谢分享的人 ,终于找到一个2032版的注册机。 在这里的话,如果注册日期到期,采用新的注册机的话,需要重装软件。在License Management 里面,点击那段注册码之后。再点击uninstall。然后再复制CID码,到注册机里面,然后将产生的码,重新ad LIC,但是这样子编译程序会有错,我并不知道为什么会出现这种情况,没有办法,我只能重新将软件卸载,重装一遍之后,就可以啦 ** 安装步骤的话和以前的安装步骤相同。 成功后面的效果图: 这个是2032版注册机: 提取码:f5hs 2032注册机百度网盘 如果连接失效可以找我 来源: CSDN 作者: gh_yll 链接: https://blog.csdn.net/weixin_43761339/article/details/103718656