diff --git a/mgmt/image_header/pkg.yml b/mgmt/image_header/pkg.yml new file mode 100644 index 0000000000..724f708f53 --- /dev/null +++ b/mgmt/image_header/pkg.yml @@ -0,0 +1,33 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +pkg.name: mgmt/image_header +pkg.description: > + Package adds section .image_header. + When this section is present elf file contains mynewt image header and + can be loaded directly debugger into flash. +pkg.author: "Apache Mynewt " +pkg.homepage: "http://mynewt.apache.org/" +pkg.keywords: + +pkg.deps: + - "@mcuboot/boot/bootutil" + +pkg.lflags: + - "-uimage_header" diff --git a/mgmt/image_header/src/image_header.c b/mgmt/image_header/src/image_header.c new file mode 100644 index 0000000000..8b6581dd0a --- /dev/null +++ b/mgmt/image_header/src/image_header.c @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include + +__attribute__((section(".image_header"))) const struct image_header image_header = { + .ih_magic = IMAGE_MAGIC, + .ih_hdr_size = IMAGE_HEADER_SIZE, + .ih_ver = { + .iv_major = 0, + .iv_minor = 1, + .iv_revision = 0, + .iv_build_num = 99, + }, +};