当前位置: 首页 > news >正文

网站突然搜不到了湖北网站定制开发价格表

网站突然搜不到了,湖北网站定制开发价格表,微信公众号服务号网站开发流程,公司做网站 优帮云[toc]## 1、工程创建 运行完 FreeRTOS-SMP-Demos 后#xff0c;我们对 SMP 运行有了一定的了解#xff0c;接下来我们自己创建工程编译运行。 按照前文 轻松玩转树莓派Pico之二、创建自己的pico工程项目 一文创建 pico_smp 项目。 创建 pico_smp.c#xff0c;并输入#x…[toc]## 1、工程创建 运行完 FreeRTOS-SMP-Demos 后我们对 SMP 运行有了一定的了解接下来我们自己创建工程编译运行。 按照前文 轻松玩转树莓派Pico之二、创建自己的pico工程项目 一文创建 pico_smp 项目。 创建 pico_smp.c并输入 #include stdio.h #include pico/stdlib.hint main() {setup_default_uart();while(1) {printf(Hello World!\r\n);sleep_ms(1000);}return 0; }创建项目CMakeLists.txt cmake_minimum_required(VERSION 3.13)include(pico_sdk_import.cmake)project(pico_smp C CXX ASM)set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17)pico_sdk_init()add_executable(pico_smppico_smp.c )pico_add_extra_outputs(pico_smp) target_link_libraries(pico_smp pico_stdlib)在项目 pico_freertos_smp 目录下依次输入 $ mkdir build cd build $ cmake .. $ make测试是否可以正常编译 2、FreeRTOS-SMP源码下载 下载 smp 分支源码采用 git submodule 模式在命令行中输入 $ git submodule add -b smp https://github.com/FreeRTOS/FreeRTOS-Kernel下载完成后可以在 FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040 目录下看到 RP2040-SMP 相关的适配。 根据 README.md 文件介绍可以将 FreeRTOS_Kernel_import.cmake 文件复制到项目工程下并在项目 CMakeLists.txt 文件夹加入该文件即可。 修改 pico-smp 工程 修改 CMakeLists.txt加入 include(FreeRTOS_Kernel_import.cmake) 因为我们的下载的 FreeRTOS-Kernel 就在当前工程目录下以子模块类型存在。 cmake_minimum_required(VERSION 3.13)include(pico_sdk_import.cmake)include(FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)project(pico_smp C CXX ASM)set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17)pico_sdk_init()add_executable(pico_smppico_smp.c )target_link_libraries(pico_smp pico_stdlib FreeRTOS-Kernel FreeRTOS-Kernel-Heap4) include_directories(${CMAKE_CURRENT_LIST_DIR})pico_add_extra_outputs(pico_smp)加入 smp 相关代码修改 main() 函数创建 2个任务并让 task0 运行在 core0task1 运行在 core1。调用 vTaskStartScheduler() 函数启动调度器。 #include FreeRTOS.h #include task.hvoid task0(void *param) {static uint32_t cnt 0;while (1) {printf(%s cnt: %d\n, __FUNCTION__, cnt );printf(task %s is runing in core %d\r\n, __FUNCTION__, portGET_CORE_ID());vTaskDelay(1000);} }void task1(void *param) {static uint32_t cnt 0;while (1) {printf(%s cnt: %d\n, __FUNCTION__, cnt );printf(task %s is runing in core %d\r\n, __FUNCTION__, portGET_CORE_ID());vTaskDelay(1000);} }int main() {setup_default_uart();TaskHandle_t task0_Handle NULL;xTaskCreate(task0, task0, configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY 1, task0_Handle);UBaseType_t task0_CoreAffinityMask (1 0);vTaskCoreAffinitySet(task0_Handle, task0_CoreAffinityMask); TaskHandle_t task1_Handle NULL;xTaskCreate(task1, task1, configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY 2, task1_Handle);UBaseType_t task1_CoreAffinityMask (1 1);vTaskCoreAffinitySet(task1_Handle, task1_CoreAffinityMask); vTaskStartScheduler();return 0; }需要特别注意需要开启下面这 2 个宏 #define configRUN_MULTIPLE_PRIORITIES 1 #define configUSE_CORE_AFFINITY 1添加 FreeRTOSConfig.h /** FreeRTOS V202107.00* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.** Permission is hereby granted, free of charge, to any person obtaining a copy of* this software and associated documentation files (the Software), to deal in* the Software without restriction, including without limitation the rights to* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of* the Software, and to permit persons to whom the Software is furnished to do so,* subject to the following conditions:** The above copyright notice and this permission notice shall be included in all* copies or substantial portions of the Software.** THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** http://www.FreeRTOS.org* http://aws.amazon.com/freertos** 1 tab 4 spaces!*/#ifndef FREERTOS_CONFIG_H #define FREERTOS_CONFIG_H/*-----------------------------------------------------------* Application specific definitions.** These definitions should be adjusted for your particular hardware and* application requirements.** THESE PARAMETERS ARE DESCRIBED WITHIN THE CONFIGURATION SECTION OF THE* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.** See http://www.freertos.org/a00110.html*----------------------------------------------------------*//* Scheduler Related */ #define configUSE_PREEMPTION 1 #define configUSE_TICKLESS_IDLE 0 #define configUSE_IDLE_HOOK 0 #define configUSE_TICK_HOOK 0 #define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) #define configMAX_PRIORITIES 32 #define configMINIMAL_STACK_SIZE ( configSTACK_DEPTH_TYPE ) 256 #define configUSE_16_BIT_TICKS 0#define configIDLE_SHOULD_YIELD 1/* Synchronization Related */ #define configUSE_MUTEXES 1 #define configUSE_RECURSIVE_MUTEXES 1 #define configUSE_APPLICATION_TASK_TAG 0 #define configUSE_COUNTING_SEMAPHORES 1 #define configQUEUE_REGISTRY_SIZE 8 #define configUSE_QUEUE_SETS 1 #define configUSE_TIME_SLICING 1 #define configUSE_NEWLIB_REENTRANT 0 #define configENABLE_BACKWARD_COMPATIBILITY 0 #define configNUM_THREAD_LOCAL_STORAGE_POINTERS 5/* System */ #define configSTACK_DEPTH_TYPE uint32_t #define configMESSAGE_BUFFER_LENGTH_TYPE size_t/* Memory allocation related definitions. */ #define configSUPPORT_STATIC_ALLOCATION 0 #define configSUPPORT_DYNAMIC_ALLOCATION 1 #define configTOTAL_HEAP_SIZE (128*1024) #define configAPPLICATION_ALLOCATED_HEAP 0/* Hook function related definitions. */ #define configCHECK_FOR_STACK_OVERFLOW 0 #define configUSE_MALLOC_FAILED_HOOK 0 #define configUSE_DAEMON_TASK_STARTUP_HOOK 0/* Run time and task stats gathering related definitions. */ #define configGENERATE_RUN_TIME_STATS 0 #define configUSE_TRACE_FACILITY 1 #define configUSE_STATS_FORMATTING_FUNCTIONS 0/* Co-routine related definitions. */ #define configUSE_CO_ROUTINES 0 #define configMAX_CO_ROUTINE_PRIORITIES 1/* Software timer related definitions. */ #define configUSE_TIMERS 1 #define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) #define configTIMER_QUEUE_LENGTH 10 #define configTIMER_TASK_STACK_DEPTH 1024/* Interrupt nesting behaviour configuration. */ /* #define configKERNEL_INTERRUPT_PRIORITY [dependent of processor] #define configMAX_SYSCALL_INTERRUPT_PRIORITY [dependent on processor and application] #define configMAX_API_CALL_INTERRUPT_PRIORITY [dependent on processor and application] *//* SMP port only */ #define configNUM_CORES 2 #define configTICK_CORE 0 #define configRUN_MULTIPLE_PRIORITIES 1 #define configUSE_CORE_AFFINITY 1/* RP2040 specific */ #define configSUPPORT_PICO_SYNC_INTEROP 1 #define configSUPPORT_PICO_TIME_INTEROP 1#include assert.h /* Define to trap errors during development. */ #define configASSERT(x) assert(x)/* Set the following definitions to 1 to include the API function, or zero to exclude the API function. */ #define INCLUDE_vTaskPrioritySet 1 #define INCLUDE_uxTaskPriorityGet 1 #define INCLUDE_vTaskDelete 1 #define INCLUDE_vTaskSuspend 1 #define INCLUDE_vTaskDelayUntil 1 #define INCLUDE_vTaskDelay 1 #define INCLUDE_xTaskGetSchedulerState 1 #define INCLUDE_xTaskGetCurrentTaskHandle 1 #define INCLUDE_uxTaskGetStackHighWaterMark 1 #define INCLUDE_xTaskGetIdleTaskHandle 1 #define INCLUDE_eTaskGetState 1 #define INCLUDE_xTimerPendFunctionCall 1 #define INCLUDE_xTaskAbortDelay 1 #define INCLUDE_xTaskGetHandle 1 #define INCLUDE_xTaskResumeFromISR 1 #define INCLUDE_xQueueGetMutexHolder 1/* A header file that defines trace macro can be included here. */#endif /* FREERTOS_CONFIG_H */3、编译 在项目 pico_freertos_smp 目录下依次输入: $ mkdir build cd build $ cmake .. $ make即可完成编译编译完成后在 builld 目录下已经生成了 .uf2 .bin .elf 等文件。 下载至 pico 开发板后运行如下 task0 cnt: 0 task1 cnt: 0 task task1 is runing in core 1 task task0 is runing in core 0 task1 cnt: 1 task task1 is runing in core 1 task0 cnt: 1 task task0 is runing in core 0 task1 cnt: 2 task task1 is runing in core 1 task0 cnt: 2 task task0 is runing in core 0
http://www.pierceye.com/news/201267/

相关文章:

  • 普陀区建设工程质检网站网站关键词优化排名
  • 云服务器多网站解析企业网站打不开了
  • 搭建flv视频网站如何注册域名步骤
  • 平面设计公司网站单页模板
  • 网站模板 代码免费建设部网站有项目经理资质查询系统
  • 网站建设注意哪些方面wordpress 做手机站
  • 淄博网站制作定制推广网站程序源代码
  • 二手房地产中介网站建设wordpress改背景图片
  • 可以自己做安卓app的网站Wordpress会员插件出错
  • 做网站优化有前景吗可信网站验证服务中心
  • 韩国设计欣赏网站天津工程建设网官方网站
  • 微网站建设多少钱网站空间管理
  • 济南网站制作定制公司wordpress重新安装主题
  • python 网站开发教程怎么做网站跳转
  • 个人盈利网站怎么建立网站建设 深圳 凡科
  • 网站后台登录地址滨州论坛网站建设
  • 怎么给钓鱼网站做防红wordpress插件合集
  • 骆驼网站建设is_category wordpress
  • 网站中链接怎么做的怎么做资源网站
  • 石家庄建站模板搭建cdr做网站分辨率
  • 学校网站建设有限公司长春网站设计策划书
  • 大连网站建设流程图龙信建设集团网站
  • 徐州好点的做网站的公司深圳做商城网站建设
  • 上海龙象建设集团公司网站网站浮动咨询代码
  • 网站制作培训学校手机网站可以做动态吗
  • 企业推广网站网站开发页面怎么进
  • 嘉兴平湖网站建设网站的底部导航栏怎么做
  • 景安 怎么把网站做别名山东新华电脑学院学网站开发
  • 网站开发好还是app好wordpress 禁用修订
  • win7云主机怎么做网站贵州建设监理网站培训通知栏