Buildroot Quick Start

来自Jack's Lab
2021年2月9日 (二) 15:40Comcat (讨论 | 贡献)的版本

跳转到: 导航, 搜索

1 Overview

目录结构:

comcat@jackslab:~/buildroot-2020.11.2$ ls
arch  board  boot  CHANGES  Config.in  Config.in.legacy  configs  COPYING  DEVELOPERS  dl  docs  fs  linux  Makefile  Makefile.legacy  output  package  README  support  system  toolchain  utils


2 添加包

comcat@jackslab:~/buildroot-2020.11.2$ mkdir -p package/helloworld/

在该目录下新建 Config.in:

config BR2_PACKAGE_HELLOWORLD
        bool "helloworld"
        help
          hello world package

新建 helloworld.mk:

comcat@lab:~/buildroot-2020.11.2$ cat package/helloworld/helloworld.mk
HELLOWORLD_VERSION = 1.0.0
HELLOWORLD_SITE = $(TOPDIR)/../helloworld_src
HELLOWORLD_SITE_METHOD = local

define HELLOWORLD_BUILD_CMDS
        $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
endef

define HELLOWORLD_INSTALL_TARGET_CMDS
        $(INSTALL) -D -m 0755 $(@D)/helloworld $(TARGET_DIR)/usr/bin/helloworld
        #$(INSTALL) -D -m 0755 $(@D)/rx $(TARGET_DIR)/usr/bin/rx
endef

$(eval $(generic-package))

3 准备代码

$ mkdir ~/helloworld_src

放入 helloworld.c Makefile:

helloworld.c:

#include <stdio.h>
#include <unistd.h>

int main(int argc, int *argv[])
{
	while(1)
	{
		printf("Hello world\n");
		sleep(1);
	}
	return 0;
}

Makefile:

OBJS=helloworld.o

all:	helloworld

helloworld:	$(OBJS)
	$(CC) $(LDFLAGS) -o helloworld $(OBJS)

$(OBJS): %.o:	%.c
	$(CC) $(CFLAGS) -c -o $@ $<


个人工具
名字空间

变换
操作
导航
工具箱