arm 相关问题

此标记用于与ARM(高级RISC机器)系列计算机相关的问题;这是在ARM处理器内核上运行的机器或电子设备或使用ARM内核的系统。

如何创建具有多变量寄存器偏移量的内联汇编命令?

以下代码使用 ARMv4 的 gcc,非常好: asm("strb.w r2, [r0, #24 + 8 * 1]"); 现在,如果我尝试以下操作: asm("strb.w r2, [r0, %[偏移] + %[delta] * %[比例]]&q...

回答 1 投票 0

在 Raspberry Pi 3 B 型上使用 Assembly 打开 LED

我正在尝试使用Assembly点亮连接到GPIO引脚12的LED,我有一个课程作业,我必须使用C和Assembly来实现MasterMind游戏,所以我一直在尝试点亮LED.. .

回答 1 投票 0

IBM MARS 密码测试向量

您好, 目前,我正在通过编写自己的 AES 决赛密码实现来学习 Raspberry Pi 1 Model B+ 上的 ARM 汇编。我想使用 IBM 测试向量测试我的 MARS 实现,但是...

回答 1 投票 0

这个比较交换函数中的内联汇编是如何工作的? (ARM 上的 %H 修饰符)

静态内联 unsigned long long __cmpxchg64(unsigned long long *ptr,unsigned long long old,unsigned long long new) { 无符号长长oldval; 无符号长解析; 预取(ptr); _...

回答 1 投票 0

为 cortexm4 CPU 编译配方时与拇指指令混淆

我有一个STM32F373微控制器和一些使用ST HAL库的C语言应用程序。我需要按照 Yocto 的配方构建此应用程序。请注意,我不需要在此 MCU 上运行 Linux,我只需

回答 1 投票 0

Docker:来自守护进程的错误响应:无法在网桥上创建端点priceless_noether:

我在 RasberryPi4 上运行 ubuntu 服务器 21.10。Docker 版本 20.10.7,构建 20.10.7 0ubuntu5。我尝试了 docker prune 并完全重新安装 docker,甚至重新安装 ubuntu,但似乎没有任何结果......

回答 4 投票 0

GCC 为 ARMv8 生成未对齐的访问

我正在设置 ARMv8 嵌入式系统,并在尝试编译以下代码时偶然发现了一个硬故障: 无效test_ram() { const uint8_t golddata[16] = { 0xde, 0xad, 0xba, 0xbe, 0, 0...

回答 1 投票 0

是否可以在ARM Windows主机上本地编译ARM Windows C++软件?

我有一个 Windows 11 for ARM 设备(ARM64 又名 ARMv8 64 位)。我正在尝试查看是否可以让 C++ 编译器在该设备上本地运行。意思是,我希望编译器能够自然运行...

回答 2 投票 0

开源且独立的ARM和RISC-V汇编器

我正在创建一个项目,我需要独立的并在 Windows 和 Linux 上运行的 INTEL、ARM 和 RISC-V 汇编器。对于INTEL架构,我找到了NASM汇编器,它满足了我的所有

回答 1 投票 0

使用 NDK 编译为 Android 共享库时链接 Rust lib 时出现问题

构建为可执行文件 main.rs 而不是 lib.rs 时没有链接错误 错误: 与 C:/Users/nafan/AppData/Local/ndk/26.2.11394342/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-

回答 1 投票 0

C为汇编器制作单独的标志

我正在尝试使用 GCC 交叉编译器交叉编译 ARM 目标的项目。我创建了一个目标,并使用 target_compile_options() 设置了 ABI 标志(-mcpu、-mfpu 等)等内容并定义了

回答 2 投票 0

为什么这条pop指令不恢复寄存器值?

我正在研究在stm32f103rb中实现的操作系统。我到了02-ContextSwitch-1章节,发现程序崩溃并抛出这个错误。 qemu:致命:尝试在 RAM 之外执行代码...

回答 1 投票 0

ARM Neon 内在函数 - FMA 中的通道

我是 ARM NEON 内在函数的新手,正在查看它的文档。他们提供了一组很棒的示例,其中包括一个矩阵乘法示例,该示例使用他们的向量 FMA 指令...

回答 1 投票 0

适用于 Armv5 的 Linaro 工具链构建适用于 Armv7

我正在尝试使用 Windows 上的 linaro 工具链为 ArmV5 目标进行交叉编译。我的命令如下所示: arm-none-linux-gnueabi-gcc.exe test.c -march=armv5te -v -mtune=arm926ej-s 随着...

回答 1 投票 0

gettimeofday计算运行时间,偶尔会有明显偏差?

我使用gettimeOfday来计算代码执行时间,我认为timer应该大约等于timer1+timer2。不过,在我的测试过程中,偶尔会出现定时器较多的情况

回答 1 投票 0

是否可以获得 /proc/cpuinfo 中包含的功能的(简短)描述?

场景: $ 猫 /proc/cpuinfo | grep FP |排序-u 功能:fp asimd evtstrm aes pmull sha1 sha2 crc32 原子 fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm 在这里我们看到...

回答 1 投票 0

无法使用expat编译GDB以用于远程调试

我一直在尝试在 64 位 X86 Ubuntu 上编译 GDB 的副本,以用于 ARM 设备的远程调试。这意味着使用 expat 编译 GDB;连接远程时 GDB 使用 XML 解析

回答 5 投票 0

UnhandledError:无法重新定义属性:堆栈

我在通过工具包部署应用程序时遇到问题,出现错误 -> 无法重新定义属性:堆栈 堆栈:UnhandledError:无法重新定义属性:getError 处的堆栈 ( 我在通过工具包部署应用程序时遇到问题,出现错误 -> 无法重新定义属性:堆栈 堆栈:UnhandledError:无法重新定义属性:getError处的堆栈 (:14:5819447) 在 Object.wrapRun (:14:5819625) 在 processTicksAndRejections (节点::95:5)在 ArmDeployDriver.execute (:14:5553122) 在 Lifecycle.executeImpl (:14:5427203) 在 Lifecycle.execute (:14:5424360) 在 Coordinator.provision (:14:5470516)在协调员处。 (:14:6119329)在FxCore.provisionResources(:14:6047609)在FxCore.exports.EnvWriterMW(:14:5958667)在FxCore.exports.ContextInjectorMW (:14:6123081)在 FxCore.exports.ConcurrentLockerMW (:14:6122032) 在 FxCore 的 envLoaderMWImpl (:14:5958547)。 (:14:5957475) 在 FxCore.exports.ProjectMigratorMWV3 (:14:6153660)在 FxCore.exports.ErrorHandlerMW(:14:6123578) 在 FxCore。 (:14:6119329) azure.二头肌: @maxLength(20) @minLength(4) param resourceBaseName string param storageSku string @description('Required when create Azure Bot service') param botAadAppClientId string @secure() @description('Required by Bot Framework package in your bot project') param botAadAppClientSecret string param webAppSKU string @maxLength(42) param botDisplayName string param serverfarmsName string = resourceBaseName param webAppName string = resourceBaseName param storageName string = resourceBaseName param location string = resourceGroup().location param microsoftAppTenantId string param tabDomain string // Azure Storage that hosts your static web site resource storage 'Microsoft.Storage/storageAccounts@2021-06-01' = { kind: 'StorageV2' location: location name: storageName properties: { supportsHttpsTrafficOnly: true } sku: { name: storageSku } } // Compute resources for your Web App resource serverfarm 'Microsoft.Web/serverfarms@2021-02-01' = { kind: 'app' location: location name: serverfarmsName sku: { name: webAppSKU } } // Web App that hosts your bot resource webApp 'Microsoft.Web/sites@2021-02-01' = { kind: 'app' location: location name: webAppName properties: { serverFarmId: serverfarm.id httpsOnly: true siteConfig: { alwaysOn: false appSettings: [ { name: 'WEBSITE_RUN_FROM_PACKAGE' value: '1' // Run Azure APP Service from a package file } { name: 'WEBSITE_NODE_DEFAULT_VERSION' value: '~18' // Set NodeJS version to 18.x for your site } { name: 'RUNNING_ON_AZURE' value: '1' } { name: 'BOT_ID' value: botAadAppClientId } { name: 'BOT_PASSWORD' value: botAadAppClientSecret } ] ftpsState: 'FtpsOnly' } } } // Register your web service as a bot with the Bot Framework module azureBotRegistration './botRegistration/azurebot.bicep' = { name: 'Azure-Bot-registration' params: { resourceBaseName: resourceBaseName botAadAppClientId: botAadAppClientId botAppDomain: webApp.properties.defaultHostName botDisplayName: botDisplayName microsoftAppTenantId: microsoftAppTenantId botAadAppClientSecret: botAadAppClientSecret tabDomain: tabDomain } } var siteDomain = replace(replace(storage.properties.primaryEndpoints.web, 'https://', ''), '/', '') // The output will be persisted in .env.{envName}. Visit https://aka.ms/teamsfx-actions/arm-deploy for more details. output TAB_AZURE_STORAGE_RESOURCE_ID string = storage.id // used in deploy stage output TAB_DOMAIN string = siteDomain output TAB_ENDPOINT string = 'https://${siteDomain}' output BOT_AZURE_APP_SERVICE_RESOURCE_ID string = webApp.id output BOT_DOMAIN string = webApp.properties.defaultHostName azurebot.bicep: @maxLength(20) @minLength(4) @description('Used to generate names for all resources in this file') param resourceBaseName string @maxLength(42) param botDisplayName string param botServiceName string = resourceBaseName param botServiceSku string = 'F0' param botAadAppClientId string param botAppDomain string param microsoftAppTenantId string param tabDomain string @secure() @description('Required by Bot Framework package in your bot project') param botAadAppClientSecret string // Register your web service as a bot with the Bot Framework resource botService 'Microsoft.BotService/botServices@2021-03-01' = { kind: 'azurebot' location: 'global' name: botServiceName properties: { displayName: botDisplayName endpoint: 'https://${botAppDomain}/api/messages' msaAppId: botAadAppClientId } sku: { name: botServiceSku } } // Connect the bot service to Microsoft Teams resource botServiceMsTeamsChannel 'Microsoft.BotService/botServices/channels@2021-03-01' = { parent: botService location: 'global' name: 'MsTeamsChannel' properties: { channelName: 'MsTeamsChannel' } } resource botServiceConnection 'Microsoft.BotService/botServices/connections@2021-03-01' = { parent: botService name: 'conntectorGraph' location: 'global' properties: { serviceProviderDisplayName: 'Azure Active Directory v2' serviceProviderId: '30dd229c-58e3-4a48-bdfd-91ec48eb906c' scopes: 'User.Read' parameters: [ { key: 'clientId' value: botAadAppClientId } { key: 'clientSecret' value: botAadAppClientSecret } { key: 'tenantID' value: microsoftAppTenantId } { key: 'tokenExchangeUrl' value: 'api://${tabDomain}/botid-${botAadAppClientId}' } ] } } output CONNECTION_NAME string = botServiceConnection.name azure.parameters.json: { "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "resourceBaseName": { "value": "tab${{RESOURCE_SUFFIX}}" }, "storageSku": { "value": "Standard_LRS" }, "botAadAppClientId": { "value": "${{BOT_ID}}" }, "botAadAppClientSecret": { "value": "${{SECRET_BOT_PASSWORD}}" }, "webAppSKU": { "value": "F1" }, "botDisplayName": { "value": "BOT" }, "microsoftAppTenantId": { "value": "${{AAD_APP_TENANT_ID}}" }, "tabDomain": { "value": "${{TAB_DOMAIN}}" }, "botAppDomain": { "value": "${{BOT_DOMAIN}}" } } } teamsapp.local.yml: version: v1.2 additionalMetadata: sampleTag: TeamsFx:msg-ext-with-tab environmentFolderPath: ./env provision: - uses: teamsApp/create with: name: MS_TEAMS_TAB_MSGEXT_local writeToEnvironmentFile: teamsAppId: TEAMS_APP_ID - uses: aadApp/create with: name: MS_TEAMS_TAB_MSGEXT_local generateClientSecret: true signInAudience: 'AzureADMyOrg' writeToEnvironmentFile: clientId: AAD_APP_CLIENT_ID clientSecret: SECRET_AAD_APP_CLIENT_SECRET objectId: AAD_APP_OBJECT_ID tenantId: AAD_APP_TENANT_ID authority: AAD_APP_OAUTH_AUTHORITY authorityHost: AAD_APP_OAUTH_AUTHORITY_HOST - uses: aadApp/update with: manifestPath: './aad.manifest.json' outputFilePath: ./build/aad.manifest.${{TEAMSFX_ENV}}.json - uses: botAadApp/create with: name: BOT-${{TEAMSFX_ENV}} writeToEnvironmentFile: botId: BOT_ID botPassword: SECRET_BOT_PASSWORD - uses: arm/deploy with: subscriptionId: ${{AZURE_SUBSCRIPTION_ID}} resourceGroupName: ${{AZURE_RESOURCE_GROUP_NAME}} templates: - path: ./infra/azure.bicep parameters: ./infra/azure.parameters.json deploymentName: Create-resources-for-tab bicepCliVersion: v0.9.1 - uses: script with: run: echo "::set-teamsfx-env TAB_DOMAIN=localhost:53000"; echo "::set-teamsfx-env TAB_ENDPOINT=https://localhost:53000"; - uses: teamsApp/validateManifest with: manifestPath: ./appPackage/manifest.json - uses: teamsApp/zipAppPackage with: manifestPath: ./appPackage/manifest.json outputZipPath: ./appPackage/build/appPackage.${{TEAMSFX_ENV}}.zip outputJsonPath: ./appPackage/build/manifest.${{TEAMSFX_ENV}}.json - uses: teamsApp/validateAppPackage with: appPackagePath: ./appPackage/build/appPackage.${{TEAMSFX_ENV}}.zip - uses: teamsApp/update with: appPackagePath: ./appPackage/build/appPackage.${{TEAMSFX_ENV}}.zip deploy: - uses: devTool/install with: devCert: trust: true writeToEnvironmentFile: sslCertFile: SSL_CRT_FILE sslKeyFile: SSL_KEY_FILE - uses: file/createOrUpdateEnvironmentFile with: target: ./tab/.localConfigs envs: BROWSER: none HTTPS: true PORT: 53000 SSL_CRT_FILE: ${{SSL_CRT_FILE}} SSL_KEY_FILE: ${{SSL_KEY_FILE}} REACT_APP_CLIENT_ID: ${{AAD_APP_CLIENT_ID}} REACT_APP_TENANT_ID: ${{AAD_APP_TENANT_ID}} REACT_APP_TAB_ENDPOINT: ${{TAB_ENDPOINT}} REACT_APP_START_LOGIN_PAGE_URL: ${{TAB_ENDPOINT}}/auth-start.html - uses: file/createOrUpdateEnvironmentFile with: target: ./bot/.localConfigs envs: BOT_ID: ${{BOT_ID}} BOT_PASSWORD: ${{SECRET_BOT_PASSWORD}} projectId: xxxxxxxxxxxxxxxxxxxx 如何解决?我做错了什么? 这是 Teams Toolkit 的内部错误,已在预发布版本中修复。 您可以尝试在 VSCode 扩展中。 或者由于此错误是由azure部署错误触发的(预期向用户显示部署错误,但被内部错误阻止),您可以尝试在资源组中查找错误部署错误。 参考这个。如果解决了部署错误,则不会触发该错误。

回答 1 投票 0

给定的机器码对应什么版本的ARM?

我尝试用两个不同的汇编器(其中一个是在线的,另一个是FASMARM)来汇编以下代码: lsl r1、r2、#4 lslge r1、r2、#4 生成的机器代码是(小-

回答 1 投票 0

将数据放置在由常量算术表达式给出的地址处

上下文 我的团队将我们的项目从使用 Arm 编译器用于嵌入式 5 升级到嵌入式 6。在我们的代码中,我们将数据放置在 RAM 中的特定位置,如下所示: #定义 RAM_START_ADDR 背景 我的团队将我们的项目从使用 Arm 编译器用于嵌入式 5 升级到嵌入式 6。在我们的代码中,我们将数据放置在 RAM 中的特定位置,如下所示: #define RAM_START_ADDR <some constant> #define OFFSET <some other constant> ... volatile my_datatype_t __attribute__((at(RAM_START_ADDR + OFFSET))) var = ...; 但由于某种原因,Embedded 6 不再支持__attribute__((at(<addr>))),相反,我们需要使用__attribute__((section(".ARM.__at_<addr>")))。您可能已经注意到,我们正在处理的地址是一个算术表达式,__attribute__(section) 不支持该表达式,它需要一个数字字符串参数。 ARM 确实提供了一种解决方法,即 volatile my_datatype_t * const var = (volatile my_datatype_t *) (RAM_START_ADDR + OFFSET); 不同的是,当编译时,它不会为 var 分配空间,而是覆盖 RAM_START_ADDR + OFFSET 处的任何数据。还没有问 ARM 如何实现这一点,但我不相信除了他们已经提供的不起作用的解决方法之外我们还能得到任何东西。 问题 有没有办法在编译时计算常量算术表达式并将其格式化为字符串?如果是这样,那么我们仍然可以使用 __attribute__((section)) 并将数字字符串传递给它。 我做了很多研究,似乎没有一种方法可以定义宏,以便对表达式进行求值并且可以将值作为标记或字符串或任何其他内容进行访问。 你运气不好。这是一个预处理器,如果您想添加任何内容,则必须对所有可能的组合进行硬编码。这可以使用脚本生成,或者您可以尝试搜索像 boost 这样的现有项目。 // Add two numbers and output them in hex #define ADDHEX_1_1() 2 #define ADDHEX_1_2() 3 // .... few billion lines later #define ADDHEX_123_456() 234 #define CONCAT4(a, b, c, d) a##b##c##d #define XCONCAT4(a, b, c, d) CONCAT4(a, b, c, d) #define STRING(x) #x #define XSTRING(x) STRING(x) #define RAM_START_ADDR 123 #define OFFSET 456 #define AT XSTRING(XCONCAT4(ADDHEX_, RAM_START_ADDR, _, OFFSET)()) #include <stdio.h> int main() { puts(".ARM.__at_" AT); } 您可以使用 Boost 预处理器库来实现这一点:

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.