精华内容
参与话题
问答
  • 操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用(system call),也就是应用对操作系统(system)的功能进行调用(call)的意思。...

    操作系统的硬件控制功能,通常是通过一些小的函数集合体的形式来提供的。这些函数及调用函数的行为统称为系统调用(system call),也就是应用对操作系统(system)的功能进行调用(call)的意思。在前面的程序中用到了time()及printf()等函数,这些函数内部也都使用了系统调用。这里之所以用“内部”这个词,是因为在Windows操作系统中,提供返回当前日期和时刻,以及在显示器中显示字符串等功能的系统调用的函数名,并不是time()和printf()。系统调用是在time()和printf()函数的内部执行的。大家可能会认为这个方法有些绕,不过这是有原因的。

    C语言等高级编程语言并不依存于特定的操作系统。这是因为人们希望不管是Windows还是Linux,都能使用几乎相同的源代码。因此,高级编程语言的机制就是,使用独自的函数名,然后再在编译时将其转换成相应操作系统的系统调用(也有可能是多个系统调用的组合)。也就是说,用高级编程语言编写的应用在编译后,就转换成了利用系统调用的本地代码(图9-6)。

    图9-6 高级编程语言的函数调用在编译后变成了系统调用

    在高级编程语言中,也存在可以直接调用系统调用的编程语言。不过,利用这种方式做成的应用,移植性并不友好(也俗称为有恶意行为的应用)。例如,直接调用Windows系统调用的应用,在Linux上显然是无法运行的。

    Ps:①移植性指的是同样的程序在不同操作系统下运行时需要花费的时间等,费时越少说明移植性越好。

    展开全文
  • Android移植基础

    万人学习 2015-05-21 23:53:34
    Android视频课程,该课程可以让学员了解Android系统架构、学习如何下载Android源码、编译及开发Android、学习如何追踪Android源码、了解Linux内核启动流程、了解Android启动流程、学习如何移植外部函式库至Android...
  • FreeRTOS STM32移植笔记

    万次阅读 多人点赞 2013-10-26 22:11:08
    【1】其实说不上移植笔记,FreeRTOS已经移植至众多平台(MCU),包括MSP430,STM32等,这份笔记完全建立在官方代码的基础之上,简单的说就是修改一些设置从而完成一个呼吸灯实验。 【2】虽然有官方移植代码,但是...

    1.前言

        【1】其实说不上移植笔记,FreeRTOS已经移植至众多平台(MCU),包括MSP430,STM32等,这份笔记完全建立在官方代码的基础之上,简单的说就是修改一些设置从而完成一个呼吸灯实验。

        【2】虽然有官方移植代码,但是官方移植版本为STM32的V2.X库,与现在流行的V3.5有比较大的区别。本笔记也是总结网上几篇学习笔记,主要说明如果使用V3.5库,需要做哪些修改。

        【3】编译软件为IAR EWARM 6.5。

     

        【相关博文】

        【FreeRTOS学习笔记——任务间使用队列同步数据】——如何使用FreeRTOS队列。

        【如何在FreeRTOS下实现低功耗——MSP430F5438平台】——如何通过空任务实现系统低功耗。

     

    2.FreeRTOS需要哪些文件

        FreeRTOS的文件结构非常简单,移植或者版本升级替换也非常方便。

        1)与FreeRTOS内核有关的文件数量仅为3个,分别是list.c queue.c tasks.c

        该文件位于FreeRTOS\Source

        2)与内存分配有关的文件共有4个,分别是heap_1.c,heap_2.c,heap_3.c,heap_4.c。4个文件只需选择其中的1个,STM32选择heap_2.c。

        该文件位于FreeRTOS\Source\portable\MemMang

        3)与移植相关的代码包括port.c,portasm.s,portmacro.h。这些代码不但和编译器有关还和平台(MCU)有关。FreeRTOS先以编译器为大类,然后再以平台(MCU)为小类。在这里选择IAR编译器,平台为ARM_CM3。

        该文件位于FreeRTOS\Source\portable\IAR\ARM_CM3

        4)除了上述内容之外,还包括FreeRTOS内核相关的头文件。

        该文件FreeRTOS\Source\include

    3.必要的工程设置

        开始之前需要引入V3.5库相关头文件,启动代码和CMSIS库。

        在IAR中设置相关头文件的路径(应根据实际情况修改)

        $PROJ_DIR$\CMSIS

        $PROJ_DIR$\StdPeriph_Driver\inc

        $PROJ_DIR$\User

        $PROJ_DIR$\FreeRTOS\Source\include

        $PROJ_DIR$\FreeRTOS\Source\portable\IAR\ARM_CM3

        当然头文件的路径并不是绝对的,只要明确头文件在哪,设置正确路径即可。

        除了设置C代码的相关头文件之外,还需要设置汇编代码的头文件路径,由于很少设置汇编代码头文件路径,往往初次移植FreeRTOS会在此处遇到一些“困难”。(当然也包括我)

        由于portasm.s需要FreeRTOSConfig.h中的相关宏定义,所以要根据FreeRTOSConfig.h的位置来设置汇编代码的头文件路径,本例中FreeRTOSConfig.h位于User文件夹,所以设置如下图所示。

    图1 设置ASM头文件搜索路径

    4.修改启动代码

        由于SVC_Handle,PendSV_Handle和SysTick_Handle在portasm.s中被重定义,所以需要在启动代码中修改这些中断向量的名称,并声明这些中断向量为外部函数。这也是初次使用FreeRTOS容易范的错误。具体修改如下所示。

    图2 启动代码修改

        请注意,在汇编代码中";"代表注释。EXTERN和C语言的extern含义相同——意为外部函数(变量)。

        EXTERN  __iar_program_start

        EXTERN  SystemInit   

        EXTERN  vPortSVCHandler           ;@

        EXTERN  xPortPendSVHandler        ;@

        EXTERN  xPortSysTickHandler       ;@

        PUBLIC  __vector_table

        声明vPortSVCHandler,xPortPendSVHandler和xPortSysTickHandler为外部函数。

        vPortSVCHandler对应SVC_Handler 

        xPortPendSVHandler对应PendSV_Handle

        xPortSysTickHandle对应SysTick_Handle

        

    5.代码实现

        经过了以上修改之后,就可以轻松实现基于FreeRTOS的呼吸灯了。代码如下:

    /* Standard includes. */
    #include <stdio.h>
    
    /* Scheduler includes. */
    #include "FreeRTOS.h"
    #include "task.h"
    #include "queue.h"
    
    /* Library includes. */
    #include "stm32f10x.h"
    
    #define LED0_ON()   GPIO_SetBits(GPIOB,GPIO_Pin_0);
    #define LED0_OFF()  GPIO_ResetBits(GPIOB,GPIO_Pin_0);
    
    static void prvSetupHardware( void );
    static void vLEDTask( void *pvParameters );
    void vLedInit(void);
    
    int main( void )
    {
      /* 初始化硬件平台 */
      prvSetupHardware();
      /* 建立任务 */
      xTaskCreate( vLEDTask, ( signed portCHAR * ) "LED", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY+3, NULL );
      /* 启动OS */
      vTaskStartScheduler();
      
      return 0;
    }
    /*-----------------------------------------------------------*/
    void vLEDTask( void *pvParameters )
    {
      for( ;; )
      {
        LED0_ON();
        vTaskDelay( 100/portTICK_RATE_MS );
        LED0_OFF();
        vTaskDelay( 100/portTICK_RATE_MS );
      }
    }
    
    /*-----------------------------------------------------------*/
    static void prvSetupHardware( void )
    {
      vLedInit();
    }
    /*-----------------------------------------------------------*/
    void vLedInit( void )
    {
      GPIO_InitTypeDef GPIO_InitStructure;
      RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE );
      /*LED0 @ GPIOB.0*/
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
      GPIO_Init( GPIOB, &GPIO_InitStructure );    
    }
    

     

    6.总结

        本人觉得FreeRTOS使用比uCOS简单,虽然FreeRTOS资料远没有uCOS多,但是毕竟uCOS是一个收费产品,而FreeRTOS是一个开源的产品。后面还将会整理一些FreeRTOS的范例代码,希望和大家一起推动FreeRTOS的使用。

    代码链接

    【版本信息】IAR 6.5

     

    7.参考资料

    在STM32使用3.5函式庫移植FreeRTOS

    MDK下基于STM32固件库V3.5.0的FreeRTOS移植笔记

    展开全文
  • 本课程为uboot学习的第12部分,从uboot官网下载的uboot开始进行移植,基本涉及到uboot移植的方方面面。本课程的目标不只是让大家理解uboot的代码结构和移植方法,更重要的在于实战演练和对大家移植时功力的提升和...
  • 本课程为linux kernel移植的第4部分,从三星smdkv210开发板的官方移植内核出发针对X210开发板进行移植。因为内核的移植大多和驱动有关,因此这里的移植部分重点在于流程的引入和调试技巧的介绍,更多的内容要到驱动...
  • 本课程为uboot学习的第11部分,以三星官方版本uboot为原材料来进行移植,适配我们的X210开发板。本课程的目标是对前面uboot分析的课程进行综合从而完成uboot的移植
  • glib 移植依赖 libmount 移植

    千次阅读 2018-06-11 17:58:29
    glib库的编译需要多种依赖,其中libmount依赖比较难找,在编译glib需要依赖,所以要先移植libmount
    glib库的编译需要多种依赖,其中libmount依赖比较难找,在编译glib需要依赖,所以要先移植libmount
    展开全文
  • MicroPython移植

    千次阅读 2019-08-13 11:56:34
    MicroPython移植 1.目标板 stm32f407zgt6 2.下载移植准备 micropython源码 arm交叉编译工具 sudo apt-get install git sudo apt-get install gcc-arm-none-eabi mkdir MicroPython cd MicroPython git clone ...

    MicroPython移植

    1.目标板

    stm32f407zgt6
    在这里插入图片描述

    2.下载移植准备

    micropython源码
    arm交叉编译工具

    sudo apt-get install git
    sudo apt-get install gcc-arm-none-eabi
    mkdir MicroPython
    cd MicroPython
    git clone https://github.com/micropython/micropython
    cd micropython/mpy-cross
    make
    cd ../ports/stm32/boards
    cp -r STM32F4DISC/ myboard
    gedit myboard/mpconfigboard.h  					#修改#define MICROPY_HW_BOARD_NAME       "myboard"
    cd ..
    gedit Makefile	#修改BOARD ?= myboard
    make											#自动下载需要的库
    编译成功:
    LINK build-myboard/firmware.elf
    text	   data	    bss	    dec	    hex	filename
    325776	     32	  27556	 353364	  56454	build-myboard/firmware.elf
    GEN build-myboard/firmware.dfu
    GEN build-myboard/firmware.hex
    

    使用jflash烧写build-myboard/firmware.hex到目标板

    3.目标板的基本硬件配置

    gedit boards/myboard/pins.csv
    # 内容改成如下
    PC10,PC10
    PA15,PA15
    PA14,PA14
    PA13,PA13
    PA12,PA12
    PA11,PA11
    PA10,PA10
    PA9,PA9
    PA8,PA8
    PC9,PC9
    PC8,PC8
    PC7,PC7
    PC6,PC6
    PG8,PG8
    PG7,PG7
    PG6,PG6
    PG5,PG5
    PG4,PG4
    PF6,PF6
    PF8,PF8
    PF7,PF7
    PF10,PF10
    PF9,PF9
    PH1,PH1
    PH0,PH0
    PC1,PC1
    PC0,PC0
    PC3,PC3
    PC2,PC2
    PA1,PA1
    PA0,PA0
    PA3,PA3
    PA2,PA2
    PA5,PA5
    PA4,PA4
    PA7,PA7
    PA6,PA6
    PC5,PC5
    PC4,PC4
    PB1,PB1
    PB0,PB0
    PB2,PB2
    PF12,PF12
    PF11,PF11
    PF14,PF14
    PF13,PF13
    PG0,PG0
    PF15,PF15
    PE7,PE7
    PG1,PG1
    PE9,PE9
    PE8,PE8
    PE11,PE11
    PE10,PE10
    PE13,PE13
    PE12,PE12
    PE15,PE15
    PE14,PE14
    PB11,PB11
    PB10,PB10
    PB13,PB13
    PB12,PB12
    PB15,PB15
    PB14,PB14
    PD9,PD9
    PD8,PD8
    PD11,PD11
    PD10,PD10
    PD13,PD13
    PD12,PD12
    PD15,PD15
    PD14,PD14
    PG3,PG3
    PG2,PG2
    LED_GREEN,PF9 
    LED_RED,PF10
    SW,PA0
    USB_DM,PA11
    USB_DP,PA12
    
    gedit boards/myboard/mpconfigboardconfig.h
    # 内容改成如下:
    
    #define MICROPY_HW_BOARD_NAME       "myboard"
    #define MICROPY_HW_MCU_NAME         "STM32F407"
    
    //#define MICROPY_PY_STM              (1)
    //#define MICROPY_PY_PYB_LEGACY       (1)
    #define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (1)
    #define MICROPY_HW_ENABLE_RTC       (1)
    #define MICROPY_HW_ENABLE_RNG       (1)
    #define MICROPY_HW_ENABLE_ADC       (1)
    #define MICROPY_HW_ENABLE_DAC       (1)
    #define MICROPY_HW_ENABLE_DCMI      (0)
    #define MICROPY_HW_ENABLE_USB       (1)
    #define MICROPY_HW_ENABLE_SERVO     (0)
    #define MICROPY_HW_HAS_SWITCH       (1)
    #define MICROPY_HW_HAS_FLASH        (1)
    #define MICROPY_HW_HAS_LCD          (0)
    #define MICROPY_HW_FLASH_FS_LABEL   "pyb_f4_internal_flash"
    
    #define MICROPY_HW_ENABLE_SDCARD    (1)
    #define MICROPY_HW_SDMMC_BUS_WIDTH  (4)
    
    //#define MICROPY_HW_HAS_LCD          (1)
    
    // HSE is 8MHz
    #define MICROPY_HW_CLK_PLLM (8)
    #define MICROPY_HW_CLK_PLLN (336)
    #define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2)
    #define MICROPY_HW_CLK_PLLQ (7)
    
    // UART config
    #if 1
    // A9 is used for USB VBUS detect, and A10 is used for USB_FS_ID.
    // UART1 is also on PB6/7 but PB6 is tied to the Audio SCL line.
    // Without board modifications, this makes UART1 unusable on this board.
    #define MICROPY_HW_UART1_NAME 	"UART1"
    #define MICROPY_HW_UART1_TX     (pin_A9)
    #define MICROPY_HW_UART1_RX     (pin_A10)
    #endif
    #define MICROPY_HW_UART2_NAME 	"UART2"
    #define MICROPY_HW_UART2_TX     (pin_A2)
    #define MICROPY_HW_UART2_RX     (pin_A3)
    #define MICROPY_HW_UART2_RTS    (pin_A1)
    #define MICROPY_HW_UART2_CTS    (pin_A0)
    #define MICROPY_HW_UART3_NAME 	"UART3"
    #define MICROPY_HW_UART3_TX     (pin_D8)
    #define MICROPY_HW_UART3_RX     (pin_D9)
    #define MICROPY_HW_UART3_RTS    (pin_D12)
    #define MICROPY_HW_UART3_CTS    (pin_D11)
    
    // NOTE: A0 also connects to the user switch. To use UART4 you should 
    //       set MICROPY_HW_HAS_SWITCH to 0, and also remove SB20 (on the back
    //       of the board near the USER switch).
    #define MICROPY_HW_UART4_NAME 	"UART4"
    #define MICROPY_HW_UART4_TX     (pin_C10)
    #define MICROPY_HW_UART4_RX     (pin_A1)
    
    
    #if 0
    #define MICROPY_HW_UART5_NAME 	"UART5"
    #define MICROPY_HW_UART5_TX     (pin_C12)
    #define MICROPY_HW_UART5_RX     (pin_D2)
    #endif
    // NOTE: PC7 is connected to MCLK on the Audio chip. This is an input signal
    //       so I think as long as you're not using the audio chip then it should
    //       be fine to use as a UART pin.
    #define MICROPY_HW_UART6_NAME 	"UART6"
    #define MICROPY_HW_UART6_TX     (pin_G14)
    #define MICROPY_HW_UART6_RX     (pin_G9)
    
    // I2C busses
    #define MICROPY_HW_I2C1_NAME "I2C1"
    #define MICROPY_HW_I2C1_SCL (pin_B6)
    #define MICROPY_HW_I2C1_SDA (pin_B7)
    #if 1
    #define MICROPY_HW_I2C2_NAME "I2C2"
    #define MICROPY_HW_I2C2_SCL (pin_B10)
    #define MICROPY_HW_I2C2_SDA (pin_B11)
    #endif
    // SPI busses
    #define MICROPY_HW_SPI1_NAME "SPI1"
    #define MICROPY_HW_SPI1_NSS  (pin_A4)
    #define MICROPY_HW_SPI1_SCK  (pin_A5)
    #define MICROPY_HW_SPI1_MISO (pin_A6)
    #define MICROPY_HW_SPI1_MOSI (pin_A7)
    #define MICROPY_HW_SPI2_NAME "SPI2"
    #define MICROPY_HW_SPI2_NSS  (pin_B12)
    #define MICROPY_HW_SPI2_SCK  (pin_B13)
    #define MICROPY_HW_SPI2_MISO (pin_C2)
    #define MICROPY_HW_SPI2_MOSI (pin_C3)
    #define MICROPY_HW_SPI3_NAME "SPI3"
    #define MICROPY_HW_SPI3_NSS  (pin_A15)
    #define MICROPY_HW_SPI3_SCK  (pin_B3)
    #define MICROPY_HW_SPI3_MISO (pin_B4)
    #define MICROPY_HW_SPI3_MOSI (pin_B5)
    // CAN busses
    #define MICROPY_HW_CAN1_TX (pin_B9)
    #define MICROPY_HW_CAN1_RX (pin_B8)
    #if 0
    #define MICROPY_HW_CAN2_TX (pin_B6)
    #define MICROPY_HW_CAN2_RX (pin_B12)
    #endif
    // USRSW is pulled low. Pressing the button makes the input go high.
    #define MICROPY_HW_USRSW_PIN        (pin_A0)
    #define MICROPY_HW_USRSW_PULL       (GPIO_PULLDOWN)
    #define MICROPY_HW_USRSW_EXTI_MODE  (GPIO_MODE_IT_RISING)
    #define MICROPY_HW_USRSW_PRESSED    (1)
    
    // LEDs
    #define MICROPY_HW_LED1             (pin_F10) // red
    #define MICROPY_HW_LED2             (pin_F9) // green 
    #define MICROPY_HW_LED_ON(pin)      (mp_hal_pin_low(pin))
    #define MICROPY_HW_LED_OFF(pin)     (mp_hal_pin_high(pin))
    
    // USB config
    #define MICROPY_HW_USB_FS              (1)
    //#define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9)
    //#define MICROPY_HW_USB_OTG_ID_PIN      (pin_A10)
    
    #if 0
    // SDCard
    #define MICROPY_HW_SDMMC_D0 (pin_C8)
    #define MICROPY_HW_SDMMC_D1 (pin_C9)
    #define MICROPY_HW_SDMMC_D2 (pin_C10)
    #define MICROPY_HW_SDMMC_D3 (pin_C11)
    #define MICROPY_HW_SDMMC_CK (pin_C12)
    #define MICROPY_HW_SDMMC_CMD (pin_D2)
    
    // SD card detect switch
    #define MICROPY_HW_SDCARD_DETECT_PIN        (pin_A8)
    #define MICROPY_HW_SDCARD_DETECT_PULL       (GPIO_PULLUP)
    #define MICROPY_HW_SDCARD_DETECT_PRESENT    (GPIO_PIN_RESET)
    #endif
    

    重新编译生成hex

    4.extmod裁剪

    裁剪re,json,zlib等模块可以通过修改mpconfigport.h文件中相关宏实现

    5.后续

    后续准备移植LCD

    展开全文
  • Contiki移植

    千次阅读 2015-03-26 21:40:03
    Contiki移植 一.系统层次结构 一个基于Contiki嵌入式系统的层次结构如图1所示,很明显,移植Contiki主要的工作是开发对应硬件的“板级层”软件包,同时解决Make工程的各种错误。 图1 Contiki系统层次结构 二....
  • uboot移植与OS移植

    2015-10-20 18:54:34
    Uboot移植:   gec2440-2009.11移植实验(较旧的移植步骤)    uboot SPL 加载uboot启动过程 及SPL移植介绍   uboot 访问jffs2文件系统   uboot移植添加目标板(很旧,新目录变化,复制最相近文件,修改不同...
  • STM32移植 MQTT

    万次阅读 多人点赞 2018-03-26 09:59:13
    stm32移植mqtt 下载MQTT的库:Paho https://github.com/eclipse/paho.mqtt.embedded-c 将MQTTPacket\src目录下的文件添加到工程 MQTTPacket\samples下的transport.c、transport.h添加到工程。 //接收数据,...
  • Python3版本移植到ARM的通用方法(一键移植

    万次阅读 热门讨论 2018-07-19 09:53:28
    看了很多资料介绍如何将python移植到嵌入式设备当中,但总感觉杂乱五章,还移植不成功,但是经过我的多方摸索,成功的探索出了一条阳光大道,供各位网友借鉴参考。 我采用的方法可以成功移植python2.7以后的所有...
  • ffmpeg移植

    千次阅读 2018-10-17 19:51:09
    编译环境:ubuntu12.04 交叉编译器:arm-none-linux-gnueabi-gcc 4.4.1 ... 1.yasm移植(可选,yasm是汇编编译器,ffmpeg加入它是为了提高编译速度,可在x264配置时使用--disable-asm选择不使用)  2.x264移植  ...
  • 做boot移植工作之前,首先要确定整个boot的启动流程,根据启动流程确定移植步骤。 首先看一下boot的启动流程: Bootloader执行最基本的硬件初始化操作。如关闭中断,关闭看门狗以避免处理器被复位,以及关闭...
  • STM32移植LWIP官方demo

    万次阅读 2018-04-06 11:50:27
    STM32移植LWIP官方demo本文使用的IDE是IAR7.2,考虑到很多很使用Keil,本文也有keil版本的说明欢迎查看本文所在的系列,STM32的LWIP应用,点击跳转1、硬件说明主控:STM32F207VCT6,100管脚的封装网络PHY芯片...
  • MQTT 移植

    2018-11-15 10:05:11
    https://blog.csdn.net/mzwhhwj/article/details/77939165?utm_source=copy MQTT移植
  • 目前网上的大多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更老的 Qtopia ,但是目前 Qt 已经发展到最新的 5.7 版本了,我个人也已经使用了很长一段时间的 qt5.6 for windows ,本文就来介绍一下QT在嵌入式环境的...
  • zip 移植

    2018-04-20 14:53:18
    一、环境介绍 1.1 宿主机 1.2 嵌入式平台 1.3 交叉工具链 二、交叉编译 三、使用测试 一、环境介绍 1.1 宿主机 Ubuntu 1404 32 位 ...zip30移植所需源码包下载地址 二、交叉编译 ...
  • RTL8211移植

    2020-02-26 16:09:11
    对于网口驱动的移植,只要u-boot和kernel有支持的驱动,移植方法还是比较简单的。 u-boot中的RTL8211移植 对于PHY的移植,大多数情况下只需要修改config文件即可,但是也有例外,这时候我们就要仔细阅读芯片手册和...
  • PYNQ移植实记 三、框架移植

    千次阅读 2019-04-10 15:16:01
    ZYNQ 7015系列板卡 pynq框架移植 By Dnknow.恒 三、框架移植 1、板级描述文件准备 在最小Soc创建完成之后,从Vivado工程目录中得到 \demo.runs\impl_1\demo_wrapper.bit \demo.sdk\demo_wrapper.hdf 两个文件...
  • 1、详细介绍了touchgfx4.13在cubemx5.5版本下的常规移植; 2、分享了一些touchgfx的开发思路; 3、介绍了如何移植别人的touchgfx工程到自己的工程中; 4、介绍了如何把工程迁移到RT-Thread; 5、给刚接触touchgfx的...
  • Atomthreads移植

    千次阅读 2018-02-09 08:16:39
    初步编译错误:Error[Lc036]: no ...stm8s移植html在线API文档csdn博客链接主要参考书籍:《嵌入式实时操作系统ucos-ii原理及应用》(第二版)主要编写内容:数据结构:程序控制块tcb解析:图文36、任务解析:单一...
  • STM32F103移植mpu9250

    万次阅读 2019-12-04 09:26:18
    STM32F103移植mpu9250的一些问题解决方法
  • Android驱动开发与移植实战详解,完整扫描版

    千次下载 热门讨论 2014-03-13 21:39:22
    李骏、陈小玉编著的《Android驱动开发与移植实战详解》分为18章,依次讲解了Android系统的基本知识, Linux内核的基本知识,分析了Android系统的源码,深入分析HAL层的基本知识,GoldFish下的驱动、MSM内核和驱动、...
  • ucos移植

    2013-09-09 18:41:54
    ucos移植前的准备——自己写一个调度的系统(一)  ucos移植前的准备——自己写一个调度的系统(二)  ucos在AVR ATmega32上的移植(一)    ucos在AVR ATmega32上的移植(二)
  • 嵌入式Linux系统移植入门

    千人学习 2016-01-20 10:21:19
    本课程介绍嵌入式Linux系统移植的相关的,bootloader,内核分析与配置,文件系统知识。
  • LINUX移植——LED驱动移植

    千次阅读 2013-09-01 21:57:52
    通过前两篇文章的介绍,我们已经把linux内核移植到了tiny210上,但是看到的现象都是通过超级终端来观察的,下面了,我们介绍一下led灯的移植,给大家一个更直观的感受。这篇文章主要的内容如下: 1.对平台总线的简介...
  • 移植opencv到嵌入式arm详细过程

    万次阅读 多人点赞 2017-11-29 16:47:46
    所以,2017年末,记录了此次移植过程,移植版本比较新的可以看过来,可以让你少走弯路。 为了这东西,逃了两次云计算的课,都被抓到了。伤,,,,,,废话不多说,开搞: opencv,计算机视觉库。 openCV 2.2以后...
  • 初识Linux 驱动移植 -- dm921概述配置内核dm9621 网卡驱动编译配置选项问题探索读 dm9621 MAC 地址失败网卡反复断开重连 概述 将kernel移植到开发板并能正常加载和启动内核后,发现网卡并没有工作,因此将网卡作为...

空空如也

1 2 3 4 5 ... 20
收藏数 130,380
精华内容 52,152
关键字:

移植