mux

织女星开发板使用RISC-V核驱动GPIO

倖福魔咒の 提交于 2020-04-22 08:54:52
前言 织女星开发板是 OPEN-ISA社区 为中国大陆地区定制的一款体积小、功耗超低和功能丰富的 RISC-V评估开发板,基于NXP半导体四核异构RV32M1主控芯片。 两个RISC-V核:RI5CY + ZERO_RISCY。 两个ARM核: Cortex-M4F + Cortex-M0+ 。 4个核被分为两个子系统,大核CM4F/RI5CY和小核CM0+/ZERO-RISCY,片上集成1.25 MB Flash 、384 KB SRAM,其中1 MB的Flash被大核所使用,起始地址0x0000_0000,另外的256 KB Flash被小核所使用,起始地址0x0100_0000。利用该开发板,用户可以快速建立一个使用 RV32M1 的 RISC-V应用和演示系统。详细的介绍可以参考: 真正的RISC-V开发板——VEGA织女星开发板开箱评测 ,本篇文章介绍如何基于RISC-V RI5CY/ZERO内核来点亮板载的RGB_LED/STS_LED、读取按键输入,演示GPIO的输入输出和外部中断功能。 准备工作 在进行以下操作之前,要确保开发环境已经搭建完成,而且能正常下载调试。 织女星开发板RISC-V开发环境:Eclipse + riscv32 工具链 + OpenOCD调试工具 织女星开发板SDK包:rv32m1_sdk_riscv 织女星开发板的原理图 RV32M1参考手册

i.MX6UL开发板 管脚复用的参数配置方法(PINMUX)

隐身守侯 提交于 2020-04-12 09:27:59
NXP Cortex-A7 i.MX6UltraLite 的外设资源非常丰富。但是,需要提醒大家的是,这些接口是不能同时使用的,为了提供芯片的性价比, CPU厂家引入了PINMUX的架构,简单说就是引脚存在复用,以上说的这些接口,只用了大约114个引脚,每个引脚最大可以有9 种功能,每个功能有可以出现在不同的引脚上面。 本次开发使用的硬件平台为飞凌嵌入式 OKMX6UL-C 开发板(产品详情: www.forlinx.com/69.htm),其它板卡请酌情参考使用, 具体实现操作步骤如下: arch/arm/boot/dts/imx6ul-pinfunc.h 中有 wps8458.tmp.jpg wps8469.tmp.jpg arch/arm/boot/dts/imx6ul-14x14-evk.dts 中有 wps846A.tmp.jpg 将管脚的配置展开即:0x0158 0x03E4 0x0000 1 0 0x1b0b1 0x0158 | 0x 03E4 | 0x000 0 | 0x 1 | 0x0 | 0x1b0b1 mux_ctrl_ofs | pad_ctrl_ofs | sel_input_ofs | mux_mode | sel_input | pad_ctrl 以上参数在参考手册怎么确定的呢? 下面 以 LCD_DATA16复用为UART7_DCE_TX

DAVINCI DM3730开发攻略——U-BOOT-2010.06的移植

依然范特西╮ 提交于 2020-04-10 13:19:23
说来惭愧,又很长时间没更新文章了,本来这篇文章可以春节过来搞定的,结果春节回到公司,大客户一直要求抓紧时间设计 DM3730 平台的 720P 宽动态低照度相机产品,和另外两款多网口的 DM3730 产品的样机,南京老客户也在催 DM3730 3G 工业级板子样机,刚搞定两个老客户,又有两个新客户找我们设计 DM3730 新产品,一个是 3G+WIFI 4CIF 视频分析产品,另一个客户人脸识别车载方面的产品,整个桐烨科技都很忙。现在又不敢招人,毕竟冷酷的现实不得不面对:这个掌握无敌的宇宙真理国度经济不断下行,搞得第一季度我们也没有什么大单子,毕竟给客户做新样机是没什么钱赚的,都是培训客户。虽然现在是春天,但经济的寒冬才来临,通货膨胀造成公司运营成本飞涨,总感觉很累,有时自己很想静心钻进本公司新产品的研发去,但是客户那边有些关键的软件问题还得本人亲自解决,累也得坚持下去。 上篇文章介绍 DM3730 的 xloader 的移植,这边介绍 DM3730 第 2 boot 阶段移植: u-boot-2010.06 的移植,其实本人已经写过 DM6446 、 DM36X 平台 UBOOT 的文章,但是由于平台和版本不一样,所以这里单独一篇,对有些人来说可能写得比较肤浅,请不要见笑,目的是完善自己的 DM3730 开发攻略,让有兴趣在这方面开发的生手提供一点点帮助。这个 u-boot

How to create route which is dynamic

痴心易碎 提交于 2020-03-27 12:01:52
问题 I am trying to figure out how to create a dynamic route in which I can query certain portions of my struct. For example, say I have the following struct. type News struct { Id int64 `json:"id"` Category string `json:"category"` ImageUrl string `json:"image_url"` Title string `json:"title"` Description string `json:"description"` Source string `json:"source"` } Now, how would I create a route such as localhost:1234/news?title="sometitle"&source="somesource 回答1: You can just use query

How to create route which is dynamic

时间秒杀一切 提交于 2020-03-27 12:01:36
问题 I am trying to figure out how to create a dynamic route in which I can query certain portions of my struct. For example, say I have the following struct. type News struct { Id int64 `json:"id"` Category string `json:"category"` ImageUrl string `json:"image_url"` Title string `json:"title"` Description string `json:"description"` Source string `json:"source"` } Now, how would I create a route such as localhost:1234/news?title="sometitle"&source="somesource 回答1: You can just use query

Go的http包中默认路由匹配规则

只愿长相守 提交于 2020-02-27 13:00:37
一、执行流程 首先我们构建一个简单http server: package main import ( "log" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("hello world")) }) log.Fatal(http.ListenAndServe(":8080", nil)) } 使用 http://127.0.0.1:8080/ 就可以看到输出了 通过跟踪http.go包代码,可以发现执行流程基本如下: 1.创建一个 Listener 监听 8080 端口 2.进入 for 循环并Accept请求,没有请求则处于阻塞状态 3.接收到请求,并创建一个conn对象,放入goroutine处理(实现高并发关键) 4.解析请求来源信息获得请求路径等重要信息 5.请求ServerHTTP方法,已经通过上一步获得了ResponseWriter和Request对象 func (sh serverHandler) ServeHTTP(rw ResponseWriter, req *Request) { //此handler即为http.ListenAndServe 中的第二个参数 handler := sh

C# 史上最全第三方授权框架

╄→尐↘猪︶ㄣ 提交于 2020-02-26 16:03:40
Login-OAuth2, so easy. 查看更多 特别感谢 JustAuth :这里特别感谢JustAuth开源项目作者提供架构思路(特别是Readme大部分来自于JustAuth,本人比较懒) .Net平台下 CollectiveOAuth ,它仅仅是一个 第三方授权登录 的 工具类库 ,它可以让我们脱离繁琐的第三方登录SDK,让登录变得 So easy! 项目开源地址: Gitee(https://gitee.com/rthinking/CollectiveOAuth) 项目文档: 参考文档(https://codoc.rthinkingsoft.cn) 特点 废话不多说,就俩字: 全 :已集成十多家第三方平台(国内外常用的基本都已包含),仍然还在持续扩展中([开发计划(制作中)]! 简 :API就是奔着最简单去设计的(见后面 快速开始 ),尽量让您用起来没有障碍感! 快速开始 引入依赖 配置授权信息(默认配置在webconfig中, 可以改造存储数据库或者其它任意地方) 1 <!--Demo: 微信服务号授权配置--> 2 <add key= " CollectiveOAuth_WECHAT_MP_ClientId " value= " wxer6785660834656 " /> 3 <add key= " CollectiveOAuth_WECHAT_MP

Golang构建HTTP服务(一)--- net/http库源码笔记

混江龙づ霸主 提交于 2020-02-26 04:53:20
搭建一个简单的Go Web服务器 Go语言标准库 - net/http 在学习Go语言有一个很好的起点, Go语言官方文档 很详细,今天我们学习的Go Web服务器的搭建就需要用到Go语言官方提供的 标准库 net/http,通过http包提供了HTTP客户端和服务端的实现。同时使用这个包能很简单地对web的路由,静态文件,模版,cookie等数据进行设置和操作。如果对http概念不是太清楚的朋友可以自行google。 http包建立Web服务器 package main import ( "fmt" "net/http" "strings" "log" ) func sayhelloName(w http.ResponseWriter, r *http.Request) { r.ParseForm() //解析参数,默认是不会解析的 fmt.Println(r.Form) //这些信息是输出到服务器端的打印信息 fmt.Println("path", r.URL.Path) fmt.Println("scheme", r.URL.Scheme) fmt.Println(r.Form["url_long"]) for k, v := range r.Form { fmt.Println("key:", k) fmt.Println("val:", strings.Join(v, "

MHRD_Guide

无人久伴 提交于 2020-02-05 10:01:59
@(Steam蒸汽动力)[MHRD|Game|How To] [CH]游戏解决方案 1.解决方案将作为完整的代码呈现,部分结决方案将有理论分析或图解。 2.根据记录板判断,解决方案远非理想。 3.慎重考虑直接参考解决方案 附:我们欢迎错误/错别字。 @[TOC] [DE] 1.Die Lösung wird als vollständiger Code präsentiert, und einige der Lösungen werden eine theoretische Analyse oder Illustration haben. 2.Laut der Rekordbehörde ist die Lösung alles andere als ideal. 3.Berücksichtigen Sie sorgfältig die direkte Referenzlösung. PS: Wir freuen uns über Fehler / Tippfehler. [RU] 1.Решение будет представлено в виде полного кода, а некоторые из решений будут иметь теоретический анализ или иллюстрацию. 2.Согласно авторитету записи,

Simulink: Perform math operations with multilevel bus signals

被刻印的时光 ゝ 提交于 2020-01-16 04:11:27
问题 I am seeking a method to sum multilevel bus signals at the lowest level within their hierarchy without loss of the bus signal structure. MWE For example, in the MWE below, the bus signal is summed at the lowest level automatically, however, the bus signal is lost after passing through the Add block. A vector signal is produced instead. I would have preferred a method which yields: red + blue = purple or more specifically: red.[a b c].[1 2] + blue.[a b c].[1 2] --> purple.[a b c].[1 2] where